第13講數(shù)據(jù)模型及范式_第1頁
第13講數(shù)據(jù)模型及范式_第2頁
第13講數(shù)據(jù)模型及范式_第3頁
第13講數(shù)據(jù)模型及范式_第4頁
第13講數(shù)據(jù)模型及范式_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、. 問題的提出問題的提出(重點(diǎn),難點(diǎn))(重點(diǎn),難點(diǎn)) 數(shù)據(jù)模型數(shù)據(jù)模型(重點(diǎn),難點(diǎn))(重點(diǎn),難點(diǎn))課堂小結(jié)課堂小結(jié)第第13講講 數(shù)據(jù)模型和規(guī)范化數(shù)據(jù)模型和規(guī)范化.數(shù)據(jù)模型(續(xù))數(shù)據(jù)模型分成兩個(gè)不同的層次(1) 概念模型概念模型 也稱信息模型,它是按用戶的觀點(diǎn)來對數(shù)據(jù)和也稱信息模型,它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。信息建模。 (2) 數(shù)據(jù)模型數(shù)據(jù)模型 主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模。. 客觀對象的抽象過程-兩步抽象 現(xiàn)實(shí)世界中的客觀對象抽象為概念模型;現(xiàn)實(shí)世界中的客觀對象抽象為概

2、念模型; 把概念模型轉(zhuǎn)換為某一把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。支持的數(shù)據(jù)模型。 概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。數(shù)據(jù)模型(續(xù)). 概念模型的用途 概念模型用于信息世界的建模概念模型用于信息世界的建模 是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次 是數(shù)據(jù)庫設(shè)計(jì)的有力工具是數(shù)據(jù)庫設(shè)計(jì)的有力工具 數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言 對概念模型的基本要求 較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識中的各種語義知識 簡單、清晰、易于用戶理解簡單、清晰、易

3、于用戶理解數(shù)據(jù)模型-概念模型(續(xù)).實(shí)體聯(lián)系方法(E-R方法) 用E-R圖來描述現(xiàn)實(shí)世界的概念模型 E-R方法也稱為E-R模型數(shù)據(jù)模型-概念模型的表示方法 .數(shù)據(jù)模型-信息世界基本概念(1) 實(shí)體(Entity) 客觀存在并可相互區(qū)別的事物稱為實(shí)體。客觀存在并可相互區(qū)別的事物稱為實(shí)體。可以是具體的人、事、物或抽象的概念可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) 實(shí)體所具有的某一特性稱為屬性。實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。 (3)聯(lián)系(Relationship) 現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息

4、世界現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系. 實(shí)體型 用矩形表示,矩形框內(nèi)寫明實(shí)體名。 屬性 用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來數(shù)據(jù)模型-概念模型的表示方法 學(xué)生學(xué)生教師教師學(xué)生學(xué)生學(xué)號學(xué)號年齡年齡性別性別姓名姓名.聯(lián)系 聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(類型(1:1、1:n或或m:n) 聯(lián)系的屬性:聯(lián)系本身也是一種實(shí)體型,也可以有屬性。

5、聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來系連接起來數(shù)據(jù)模型-概念模型的表示方法 .一對一聯(lián)系 班級與班長之間的聯(lián)系:班級與班長之間的聯(lián)系: 一個(gè)班級只有一個(gè)正班長一個(gè)班級只有一個(gè)正班長 一個(gè)班長只在一個(gè)班中任職一個(gè)班長只在一個(gè)班中任職數(shù)據(jù)模型-兩個(gè)實(shí)體之間的聯(lián)系 .一對多聯(lián)系 班級與學(xué)生之間的聯(lián)系:班級與學(xué)生之間的聯(lián)系: 一個(gè)班級中有若干名學(xué)生,一個(gè)班級中有若干名學(xué)生, 每個(gè)學(xué)生只在一個(gè)班級中學(xué)習(xí)每個(gè)學(xué)生只在一個(gè)班級中學(xué)習(xí)數(shù)據(jù)模型-兩個(gè)實(shí)體之間的聯(lián)系 .多對多聯(lián)系(m:n) 課程與學(xué)生之

6、間的聯(lián)系:課程與學(xué)生之間的聯(lián)系: 一門課程同時(shí)有若干個(gè)學(xué)生選修一門課程同時(shí)有若干個(gè)學(xué)生選修 一個(gè)學(xué)生可以同時(shí)選修多門課程一個(gè)學(xué)生可以同時(shí)選修多門課程數(shù)據(jù)模型-兩個(gè)實(shí)體之間的聯(lián)系 .數(shù)據(jù)模型-概念模型的表示方法 班級班級班長班長111:1聯(lián)系聯(lián)系課程課程選修選修學(xué)生學(xué)生mnm:n聯(lián)系聯(lián)系班級班級學(xué)生學(xué)生1n1:n聯(lián)系聯(lián)系.數(shù)據(jù)模型-概念模型的表示方法 課程課程選修選修學(xué)生學(xué)生mn成績成績.數(shù)據(jù)模型-E-R圖實(shí)例 學(xué)校有若干系組成;每個(gè)系有若干教研室和若干學(xué)生,班級組成;并開設(shè)多門課程;每個(gè)教研室有多名教師組成;每個(gè)教師有自己的研究方向和所教授的課程;每個(gè)班級有若干學(xué)生組成。 每個(gè)學(xué)生需要修學(xué)多門

7、課程,每個(gè)教師可以教授多門課程,一門課程可以有多個(gè)教師講解,每個(gè)教師開設(shè)的課程必須同時(shí)有多個(gè)學(xué)生選課。. 在這個(gè)例子中,我們看到,現(xiàn)實(shí)世界中存在許多事物。例如,學(xué)生學(xué)生、教師教師、教研室教研室、系系、班級班級、課程課程等,這些都是客觀存在的實(shí)體。這些實(shí)體并不是孤立存在的,不同的實(shí)體之間是有聯(lián)系的,這種聯(lián)系也是客觀存在的。 比如,教師屬于某個(gè)系的某個(gè)教研室,而且只能隸屬于一個(gè)教研室,學(xué)生和教師通過選修課程建立聯(lián)系。請同學(xué)們畫出教學(xué)管理系統(tǒng)的E-R模型圖。數(shù)據(jù)模型-E-R圖實(shí)例 .學(xué)生學(xué)生課程課程班級班級系系教研室教研室教師教師學(xué)號學(xué)號班級號班級號姓名姓名班級號班級號選修選修成績成績課程號課程號學(xué)

8、號學(xué)號課程號課程號系號系號系號系號系號系號教研室號教研室號教研室號教研室號教師號教師號教學(xué)教學(xué)課程號課程號教師號教師號實(shí)體-關(guān)系圖。實(shí)體:學(xué)生、教師、教研室、系、班級、課程.該教學(xué)管理系統(tǒng)中的關(guān)系數(shù)據(jù)模型的實(shí)體類型:系(系號,系名,電話,地址)教研室(教研室號,教研室名,人數(shù), 電話,地址,系號)課程(課程號,課程名, 學(xué)分,開課系號) 授課(授課編號,教師編號,課程號)班級(班號,班名,人數(shù), 電話,系號)學(xué)生(學(xué)號,姓名,性別,年齡, 班號)教師(教師編號,姓名, 性別, 教研室號,電話,地址)選課(學(xué)號,授課編號, 成績)數(shù)據(jù)模型-E-R圖實(shí)例 .關(guān)系(Relation) 一個(gè)關(guān)系對應(yīng)通

9、常說的一張表。元組(Tuple) 表中的一行即為一個(gè)元組。屬性(Attribute) 表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。關(guān)系模型- 基本概念 .主鍵(碼)(Key) 表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域(Domain) 屬性的取值范圍。分量 元組中的一個(gè)屬性值。關(guān)系模型- 基本概念 .關(guān)系模式 對關(guān)系的描述 關(guān)系名(屬性1,屬性2,屬性n)例如,描述學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,年齡,性別,系,年級)關(guān)系模型- 基本概念 .關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì) 針對具體問題,如何構(gòu)造一個(gè)適合于它的數(shù)據(jù)模式 數(shù)據(jù)庫邏輯設(shè)計(jì)的工具關(guān)系數(shù)據(jù)庫的規(guī)范化理論關(guān)系規(guī)范-

10、問題的提出 .學(xué)校數(shù)據(jù)庫的語義:學(xué)校數(shù)據(jù)庫的語義: 一個(gè)系有若干學(xué)生, 一個(gè)學(xué)生只屬于一個(gè)系; 一個(gè)系的學(xué)生住在同一住處; 一個(gè)學(xué)生可以選修多門課程, 每門課程有若干學(xué)生選修; 每個(gè)學(xué)生所學(xué)的每門課程都有一個(gè)成績。關(guān)系規(guī)范-問題的提出.關(guān)系規(guī)范-問題的提出例如 ,描述學(xué)校的數(shù)據(jù)庫:學(xué)生的學(xué)號(Sno)、所在系(Sdept)學(xué)生住處(Sloc)、課程號(Cno)成績(Grade)單一的關(guān)系模式 : Student Student(Sno, Sdept, Mname, Cname, Grade ). 數(shù)據(jù)冗余太大 浪費(fèi)大量的存儲空間 例:每一個(gè)系的學(xué)生住處重復(fù)出現(xiàn) 更新異常(Update Anom

11、alies) 數(shù)據(jù)冗余 ,更新數(shù)據(jù)時(shí),維護(hù)數(shù)據(jù)完整性代價(jià)大。例:某系更換學(xué)生住處后,系統(tǒng)必須修改與該系學(xué)生有關(guān)的每一個(gè)元組數(shù)據(jù)模型-關(guān)系模式存在的問題. 插入異常(Insertion Anomalies) 該插的數(shù)據(jù)插不進(jìn)去 例,如果一個(gè)系剛成立,尚無學(xué)生,我們就無法把這個(gè)系及其該系的住處的信息存入數(shù)據(jù)庫。 刪除異常(Deletion Anomalies) 不該刪除的數(shù)據(jù)被刪除了 例,如果某個(gè)系的學(xué)生全部畢業(yè)了, 我們在刪除該系學(xué)生信息的同時(shí),把這個(gè)系及其學(xué)生住處的信息也丟掉了。數(shù)據(jù)模型-關(guān)系模式存在的問題.結(jié)論: Student關(guān)系模式不是一個(gè)好的模式。 “好”的模式:不會發(fā)生插入異常、刪除

12、異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少。原因:由存在于模式中的某些數(shù)據(jù)依賴引起的解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴。數(shù)據(jù)模型-關(guān)系模式存在的問題. 規(guī)范化理論 是用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。關(guān)系規(guī)范化 . 1NF的定義如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R1NF。關(guān)系規(guī)范化-1NF. 第一范式是對關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。Student關(guān)系模式符合1NF 但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。關(guān)系規(guī)范化-1NF. 2NF

13、的定義若關(guān)系模式R1NF,并且每一個(gè)非主非主屬性都完全完全函數(shù)依賴于R的碼,則R2NF。例:Student(Sno, Sdept, Sloc, Cno, Grade) 1NF關(guān)系規(guī)范化-2NF.例: 關(guān)系模式 Student(Sno, Sdept, Sloc, Cno, Grade) 函數(shù)依賴包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc關(guān)系規(guī)范化-2NF. Student的碼為(Sno, Cno) Student滿足第一范式。 非主屬性Sdept和Sloc部分函

14、數(shù)依賴于碼(Sno, Cno)關(guān)系規(guī)范化-2NFSnoCnoGradeSdeptSlocStudent. Student(Sno, Sdept, Sloc, Cno, Grade) 不屬于2NF分解關(guān)系模式Student SC(Sno, Cno, Grade) 2NF SL(Sno, Sdept, Sloc) 2NF關(guān)系規(guī)范化-2NF. 若R3NF,則R的每一個(gè)非主屬性既不部分函數(shù)依賴于候選碼也不傳遞函數(shù)依賴于候選碼。 如果R3NF,則R也是2NF。 SC( Sno, Cno, Grade) 3NF SL(Sno, Sdept, Sloc) 2NF關(guān)系規(guī)范化-3NF.在 2NF關(guān)系模式SL(Sno, Sdept, Sloc)中存在 函數(shù)依賴: SnoSdept SdeptSloc SnoSlocSloc傳遞函數(shù)依賴于Sno,即SL中存在非主屬性對碼的傳遞函數(shù)依賴。關(guān)系規(guī)范化-3NF. 關(guān)系規(guī)范化-3NFn原因原因 Sdept、 Sloc部分函數(shù)依賴于碼。n解決方法解決方法 SLC分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴 SC(Sno, Cno, Grade) SL(Sno, Sdept, Sloc). 解決方法把SL分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴: SD(Sno, Sdept) DL(Sdept, Sloc)SD的碼為Sno, DL的碼為Sdept。關(guān)系規(guī)范化-3NF

溫馨提示

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

評論

0/150

提交評論