數(shù)據(jù)庫建模-概念設計_第1頁
數(shù)據(jù)庫建模-概念設計_第2頁
數(shù)據(jù)庫建模-概念設計_第3頁
數(shù)據(jù)庫建模-概念設計_第4頁
數(shù)據(jù)庫建模-概念設計_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、電子信息工程系授課教師:鄧偉華第二講 概念設計教學重點教學重點。數(shù)據(jù)庫概念設計第二講 概念設計掌握數(shù)據(jù)庫的范式理論。掌握數(shù)據(jù)庫的設計的三個模式理論。掌握利用ER圖進行數(shù)據(jù)庫概念設計教學教學目的目的教學教學難點難點數(shù)據(jù)庫的范式理論0 0 回顧前講的內(nèi)容回顧前講的內(nèi)容1、數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術;2、數(shù)據(jù)庫設計的重要性;3、數(shù)據(jù)庫設計的步驟;4、數(shù)據(jù)庫設計的需求分析; 回顧一:數(shù)據(jù)建模的概念將現(xiàn)實世界的數(shù)據(jù)轉(zhuǎn)換成信息世界的數(shù)據(jù)的過程稱為建模回顧二:數(shù)據(jù)庫設計的必要性好的數(shù)據(jù)庫結構有利于:- 節(jié)省數(shù)據(jù)的存儲空間節(jié)省數(shù)據(jù)的存儲空間- 能夠保證數(shù)據(jù)的完整性能夠保證數(shù)據(jù)的完整性- 方便進行數(shù)據(jù)庫應

2、用系統(tǒng)的開發(fā)方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)設計不好的數(shù)據(jù)庫結構將導致- 數(shù)據(jù)冗余、存儲空間浪費數(shù)據(jù)冗余、存儲空間浪費- 各種數(shù)據(jù)操作異常各種數(shù)據(jù)操作異常- 內(nèi)存空間浪費內(nèi)存空間浪費需求收集和分析設計概念結構設計邏輯結構數(shù)據(jù)模型優(yōu)化設計物理結構評價設計,性能預測物理實現(xiàn)試驗性運行使用、維護數(shù)據(jù)庫應用需求數(shù)據(jù)、處理 轉(zhuǎn)換規(guī)則、DBMS功能優(yōu)化方法應用要求,DBMS詳細特征需求分析階段數(shù)據(jù)庫運行、維護階段不滿意不滿意 數(shù)據(jù)庫實施階段物理設計階段邏輯設計階段概念設計階段回顧三:數(shù)據(jù)庫設計的步驟數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 設計概念結構設計概念結構 設計邏輯結構設計邏輯結

3、構 設計物理結構設計物理結構 物理實現(xiàn)物理實現(xiàn)數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 用戶關心什么用戶關心什么 用戶要什么結果用戶要什么結果 設計概念結構設計概念結構 設計邏輯結構設計邏輯結構 設計物理結構設計物理結構 物理實現(xiàn)物理實現(xiàn)數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 設計概念結構設計概念結構 存什么存什么 關系(聯(lián)系)如何關系(聯(lián)系)如何 E/R圖,是各種數(shù)據(jù)模型的共同基礎圖,是各種數(shù)據(jù)模型的共同基礎 設計邏輯結構設計邏輯結構 設計物理結構設計物理結構 物理實現(xiàn)物理實現(xiàn)數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 設計概

4、念結構設計概念結構 設計邏輯結構設計邏輯結構 用什么數(shù)據(jù)模型用什么數(shù)據(jù)模型 數(shù)據(jù)庫的模式(數(shù)據(jù)庫的模式(database schema) 用戶子模式用戶子模式 設計物理結構設計物理結構 物理實現(xiàn)物理實現(xiàn)數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 設計概念結構設計概念結構 設計邏輯結構設計邏輯結構 設計物理結構設計物理結構 數(shù)據(jù)怎么存數(shù)據(jù)怎么存 根據(jù)根據(jù)DBMS產(chǎn)品、環(huán)境特點產(chǎn)品、環(huán)境特點 物理實現(xiàn)物理實現(xiàn)數(shù)據(jù)庫的設計步驟數(shù)據(jù)庫的設計步驟 需求收集和分析需求收集和分析 設計概念結構設計概念結構 設計邏輯結構設計邏輯結構 設計物理結構設計物理結構 物理實現(xiàn)物理實現(xiàn) 運行運行DD

5、L 裝入測試數(shù)據(jù)裝入測試數(shù)據(jù) 應用程序應用程序 8.2.2 需求分析的方法 一. 調(diào)查用戶需求的具體步驟 1. 調(diào)查組織機構情況; 2. 調(diào)查各部門的業(yè)務活動情況; 3. 協(xié)助用戶明確對新系統(tǒng)的各種要求; 4. 確定新系統(tǒng)的邊界. 二. 常用的調(diào)查方法 1. 跟班作業(yè); 2. 開調(diào)查會; 3. 請專人介紹; 4. 詢問; 5. 設計調(diào)查表請用戶填寫; 6. 查閱記錄. 8.2 需需 求求 分分 析析 8.2.1 需求分析的任務.需求分析調(diào)查組織機構總體情況熟悉業(yè)務活動明確用戶需求確定系統(tǒng)邊界用戶 數(shù)據(jù)庫 設計人員.DDDDDFD概念設計 需求分析過程 8.3 概念結構設計概念結構設計 8.3.

6、1 概念結構的主要特點: 1. 能真實、充分地反映現(xiàn)實世界; 2. 易于理解; 3. 易于更改; 4. 易于向關系模式轉(zhuǎn)變。8.3.2:實體關系模型實體關系模型:DB 設計過程,并且表示 DB 的整個邏輯結構 實體:實體可以是具體的(例如一個人或一本書),也可以是抽象的(如一個節(jié)日或一個概念) 屬性:實體是由一組屬性來表示的。例如:Person(個人)實體的屬性有 Name(名稱)、SSN、Age(年齡)、Street(街道)、City(城市) 關系:關系是兩個或多個實體之間的聯(lián)系 數(shù)據(jù)抽象 2. 聚類聚類(Aggregation) 學 生張英 王平 劉勇 趙亮“is member of” 3

7、. 概括概括(Generalization) 學 生學號姓名 專業(yè) 班級“is part of ”實體型屬性 學 生本科生研究生“is subset of ” 三種抽象 1. 分類分類(Classification)關系的類型X X X X Y Y Y Y 一對一一對一X X X X Y Y Y Y 一對多一對多X X X X Y Y Y 多對一多對一X X X X Y Y Y Y 多對多多對多E-R 圖的符號 E-R 圖姓名Person性別身份證結合11時間E-R 圖客戶客戶號名稱汽車汽車號名稱訂購日期1mE-R 圖學生學號姓名課程課程號名稱學分選課時間nm8.3.3:采用ER的概念模型設計

8、步驟1、局部設計需求分析結果確定局部結構范圍定義實體屬性分配定義聯(lián)系進入全局ER模式設計還有局部結構等待分析嗎是8.3.3:采用ER的概念模型設計步驟2、全局設計局部ER模式確定公共實體合并兩個局部ER模式檢查并消除沖突進入全局ER模式優(yōu)化是還有沖突?還有局部模式?是 3 視圖的集成視圖的集成 視圖集成的兩種方式視圖集成的兩種方式: * 多個分E-R圖一次集成.(a) *逐步集成, 用累加的方式一次集成兩個分E-R圖. (b)(E-R)1(E-R)2(E-R)n基本E-R初步E-R(E-R)3(E-R)12(E-R)2(E-R)1初步E-R基本E-R(a)(b) 視圖集成的兩種方式 合并分合并

9、分E-R圖,生成初步圖,生成初步E-R圖圖 1、屬性沖突 (1) 屬性域沖突 (2) 屬性取值單位沖突 2、命名沖突 (1) 同名異義 (2) 異名同義 3、結構沖突 (1) 同一對象在不同應用中具有不同定抽象 (2) 同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同.合理消除各分E-R圖的沖突是合并分E-R圖的主要工作與關鍵所在。各分E-R圖之間主要有三類沖突。8.3.3:采用ER的概念模型設計步驟3、全局ER模式優(yōu)化加工加工消耗存儲零件數(shù)Q1耗用量Q2存放量Q5庫存量Q4用電量Q3產(chǎn)品材料倉庫零件 消除不必要的冗余,設計基本消除不必要的冗余,設計基本E-R圖圖 (一).

10、采用分析方法消除冗余 (二). 用規(guī)范化理論消除冗余 1. 確定分E-R圖實體之間的數(shù)據(jù)依賴. 2. 求FL的最小覆蓋GL,差集為: D=FL-GL8.3.4:范式理論范式理論:第一范式:1NF第二范式:2NF第三范式:3NF帶有問題的表格問題分析1表中包含大量的冗余,可能會導致數(shù)據(jù)異常: a.更新異常 例如,修改職工號=1001的職務,則必須修改所有職工號=1001的行。 b. 添加異常 若要增加一個新的職工時,首先必須給這名職工分配一個工程。或者為了添加一名新職工的數(shù)據(jù),先給這名職工分配一個虛擬的工程。(因為主關鍵字不能為空) c. 刪除異常 例如,1001號職工要辭職,則必須刪除所有職工

11、號1001的數(shù)據(jù)行。這樣的刪除操作,很可能丟失了其它有用的數(shù)據(jù)。什么是規(guī)范化 研究設計一個“好”的(沒有“毛病”的)關系模式的辦法。第一范式第二范式第三范式第一范式第一范式的定義: 指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。 在第一范式(1NF)中表的每一行只包含一個實例的信息第一范式要求:屬性是原子性的要求:屬性是原子性的 客戶號客戶號姓名姓名聯(lián)系方法聯(lián)系方法宅電宅電手機手機郵址郵址不可以出現(xiàn)如上的關系不可以出現(xiàn)如上的關系 聯(lián)系方法非原子性聯(lián)系方法非原子性第二范式第二范式的定義: 如果一個表屬于1NF,且不包含部分依

12、賴性,既沒有任何屬性只依賴于關鍵字的一部分,則這個表屬于第二范式(常記成2NF )。 第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或行必須可以被惟一地區(qū)分. 將1NF轉(zhuǎn)換成2NF的方法是分解。第二范式在符合第一范式的基礎上,在符合第一范式的基礎上,再要求:關系中不存在這樣的函數(shù)依賴:再要求:關系中不存在這樣的函數(shù)依賴:x - Ax - Ax x是部分主鍵,是部分主鍵,A A是某一屬性是某一屬性送貨單號產(chǎn)品碼數(shù)量客戶號客戶宅電客戶地址客戶郵編經(jīng)辦人= 送貨單號客戶號客戶宅電客戶地址客戶郵編經(jīng)辦人送貨單號產(chǎn)品碼數(shù)量第三范式第三范式的定義: 如果一個表屬于2NF,且不包含傳遞依賴性,則這個表是第三范式

13、(常記成3NF)。 滿足3NF的表中不包含傳遞依賴,即沒有一個非關鍵屬性依賴于另一個非關鍵屬性,或者說沒有一個非關鍵屬性決定另一個非關鍵屬性。第三范式就是屬性不依賴于其它非主屬性。第三范式第三范式:在符合第一、第二范式的基礎上,再要求不存在傳遞依賴 客戶號-決定了客戶地址,客戶地址決定了客戶地址郵編。是傳遞依賴??蛻籼柨蛻粽娍蛻舻刂房蛻羿]編送貨單號客戶號客戶宅電客戶地址客戶郵編經(jīng)辦人送貨單號客戶號經(jīng)辦人客戶號客戶宅電客戶地址客戶郵編= 案例分析把學生關系表分為如下兩個表: 學生:(學號, 姓名, 年齡, 所在學院); 學院:(學院, 地點, 電話)。 規(guī)范化實例1-2假設某建筑公司要設計一個

14、數(shù)據(jù)庫。公司的業(yè)務規(guī)則概括說明如下: 公司承擔多個工程項目,每一項工程有:工程號、工程名稱、施工人員等; 公司有多名職工,每一名職工有:職工號、姓名、性別、職務(工程師、技術員)等; 公司按照工時和小時工資率支付工資,小時工資率由職工的職務決定(例如,技術員的小時工資率與工程師不同)。 公司定期制定一個工資報表,如圖-1所示。規(guī)范化實例2-2 某公司的工資表某公司的工資表再看這三個表的函數(shù)依賴圖圖圖 三個表的函數(shù)依賴圖三個表的函數(shù)依賴圖畫出四個表的函數(shù)依賴圖 從函數(shù)依賴圖可見,已經(jīng)消除職工表中的傳遞依賴,這四個表都屬于第三范式。 在絕大多數(shù)情況下,一個數(shù)據(jù)庫的所有表都滿足3NF,就基本達到數(shù)據(jù)

15、庫設計的目標。案例分析把選課關系表SelectCourse改為如下三個表: 學生:Student(學號, 姓名, 年齡); 課程:Course(課程名稱, 學分); 選課關系:SelectCourse(學號, 課程名稱, 成績)。 案例分析及實現(xiàn)一 X員工在X日期收到X訂單中的X貨品X件到倉庫中. X員工在X日期在倉庫中提取X貨品X件案例分析及實現(xiàn)一員工:員工:員工號員工號姓名姓名貨品:貨品:貨品編號貨品編號貨品描述貨品描述庫倉:庫倉:庫倉號庫倉號庫倉描述庫倉描述收貨收貨: :員工員工日期日期訂單號訂單號出貨出貨: :員工員工日期日期出貨號出貨號收貨明細:收貨明細:訂單號訂單號貨品貨品數(shù)量數(shù)量

16、出貨明細出貨明細出貨號出貨號貨品貨品日期日期數(shù)量數(shù)量正規(guī)化選擇 將表格分得過細有時并不好,因為這樣需要將各表進行各種的關聯(lián),這會令查詢時變得復雜,而且效率也可能降低,這些正規(guī)化的規(guī)定可以參考,在實際應用時,要根據(jù)項目的大小,必要時可以進行一些測試,以設計出更合理的表格結構。 8.4 邏輯設計邏輯設計特定的DBMS支持下的數(shù)據(jù)模型優(yōu)化的數(shù)據(jù)模型轉(zhuǎn)換規(guī)則DBMS的特點和限制優(yōu)化方法ER模型向邏輯模型轉(zhuǎn)換 每個實體轉(zhuǎn)換成一個關系模式 一個1:1的聯(lián)系可以轉(zhuǎn)換為一個關系模式,或與任意一端的關系模式合并 若獨立轉(zhuǎn)換為一個關系模式,兩端的關系碼及聯(lián)系的屬性為該關系的屬性; 若與一端合并,那么將另一端的碼及

17、聯(lián)系的屬性合并到該端. 一個1:n的關系可以轉(zhuǎn)換成一個關系模式,或與n端的關系模式合并. 若獨立轉(zhuǎn)換為一個關系模式,兩端的關系碼及聯(lián)系的屬性為該關系的屬性,n端的碼為該關系的碼. 一個m:n的聯(lián)系可以轉(zhuǎn)換為一個關系模式,那么兩端的關系碼及聯(lián)系的屬性為該關系的屬性,關系的碼為兩端實體碼的組合. E-R圖向關系模型的轉(zhuǎn)換方法 一、轉(zhuǎn)換一般遵循如下原則: 1、一個實體型轉(zhuǎn)換為一個關系模式. 2、一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。 3、一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關系模式,也可以與n端對應的關系模式合并。 4、一個m:n聯(lián)系可以轉(zhuǎn)換為一個關系模式。 5、三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關系模式。 6、具有相同碼的關系模式可合并。二、自聯(lián)系1、1:1的聯(lián)系轉(zhuǎn)換在實體中增加一個表示關系的字段2、1:n聯(lián)系的轉(zhuǎn)換方法一:在n端增加1端關鍵字方法二:為聯(lián)系增加表3、M:N的聯(lián)系轉(zhuǎn)換三、多元聯(lián)系的轉(zhuǎn)換1、最多只有一個實體的基數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論