數(shù)據(jù)庫規(guī)范化管理理論_第1頁
數(shù)據(jù)庫規(guī)范化管理理論_第2頁
數(shù)據(jù)庫規(guī)范化管理理論_第3頁
數(shù)據(jù)庫規(guī)范化管理理論_第4頁
數(shù)據(jù)庫規(guī)范化管理理論_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(關系數(shù)據(jù)庫的規(guī)范化理論)(關系數(shù)據(jù)庫的規(guī)范化理論)4.1 數(shù)據(jù)依賴數(shù)據(jù)依賴4.2 范式范式4.3 關系模式的規(guī)范化關系模式的規(guī)范化 4.1.1 關系模式中的數(shù)據(jù)依賴關系模式中的數(shù)據(jù)依賴4.1.2 數(shù)據(jù)依賴對關系模式的影響數(shù)據(jù)依賴對關系模式的影響4.1.3 有關概念有關概念R 簡記為:簡記為: R R是符號化的關系名;是符號化的關系名; U是屬性名的集合;是屬性名的集合; D是屬性組是屬性組U的取值范圍,是域的集合;的取值范圍,是域的集合; DOM為屬性為屬性U到域到域D的映射集合;的映射集合; F是屬性是屬性U間數(shù)據(jù)的依賴關系集合。間數(shù)據(jù)的依賴關系集合。一個關系內部屬性與屬性之間的一種約束關

2、系,描述的一個關系內部屬性與屬性之間的一種約束關系,描述的是關系中元組的語義。是關系中元組的語義。示例:示例:Student關系模式關系模式 =Sno, Sdept, Mname, Cname, Grade 數(shù)據(jù)語義:數(shù)據(jù)語義: 系與學生之間是系與學生之間是1:n的聯(lián)系的聯(lián)系 一個系只有一個主任一個系只有一個主任 學生與課程之間是學生與課程之間是m:n的聯(lián)系的聯(lián)系 每個學生的每門課都有成績每個學生的每門課都有成績 SnoCnameSdeptMnameGrade主碼?主碼?F = Sno Sdept, Sdept Mname,(Sno, Cname) Grade l 數(shù)據(jù)冗余量大數(shù)據(jù)冗余量大l

3、更新復雜、量大(更新異常)更新復雜、量大(更新異常)l 插入異常插入異常l 刪除異常刪除異常好的模式應不發(fā)生異常,且冗余較小。好的模式應不發(fā)生異常,且冗余較小。l 不好的關系模式是由于存在不合適的不好的關系模式是由于存在不合適的 數(shù)據(jù)依賴所造成的;數(shù)據(jù)依賴所造成的;l 規(guī)范化理論致力于解決關系模式中不規(guī)范化理論致力于解決關系模式中不 合適的數(shù)據(jù)依賴;合適的數(shù)據(jù)依賴;l 函數(shù)依賴和多值依賴函數(shù)依賴和多值依賴定義:設定義:設R(U)是屬性集是屬性集U上的一個關系模式,上的一個關系模式,X, Y是是U的子集。對于的子集。對于R(U)的的任意任意一個可能的關系,一個可能的關系,不可能有兩個元組在屬性集

4、不可能有兩個元組在屬性集X上的值相同而在上的值相同而在Y上的值不同,則稱上的值不同,則稱X函數(shù)確定函數(shù)確定Y或或Y函數(shù)依賴于函數(shù)依賴于X,記作,記作X Y,X稱為這個函數(shù)依賴的決定屬稱為這個函數(shù)依賴的決定屬性集。性集。 X Y X Y函數(shù)依賴完全是由數(shù)據(jù)的語義決定的。函數(shù)依賴完全是由數(shù)據(jù)的語義決定的。例例Student (Sno, Sdept, Mname, Cname, Grade) 假設不允許重名假設不允許重名l 平凡函數(shù)依賴平凡函數(shù)依賴 X Y Y Xl 非平凡函數(shù)依賴非平凡函數(shù)依賴 X Y Y X 例:例:SC (Sno, Cno, Grade) 在關系模式中,若在關系模式中,若X Y

5、,X Y, 那么那么Y完全函數(shù)依賴于完全函數(shù)依賴于X。記作。記作X Y。 在關系模式中,若在關系模式中,若X Y,X Y, 那么那么Y部分函數(shù)依賴于部分函數(shù)依賴于X。記作。記作X Y。fp例:例:Student (Sno, Sdept, Mname, Cname, Grade) 在關系模式中,若在關系模式中,若X Y,且,且Y Z,但,但Y X, 那么屬性集那么屬性集Z傳遞函數(shù)依賴于傳遞函數(shù)依賴于X。記作。記作 X Z。t例:例:Student (Sno, Sdept, Mname, Cname, Grade) l 碼是關系模式中的一個重要概念碼是關系模式中的一個重要概念l 碼可以用函數(shù)依賴的

6、概念來嚴格定義碼可以用函數(shù)依賴的概念來嚴格定義 K Ul 候選碼候選碼 l 主碼主碼l 外碼外碼f最小屬性集!最小屬性集!5NF4NFBCNF3NF2NF1NF4.2.1 第一范式第一范式(1NF)4.2.2 第二范式第二范式(2NF)4.2.3 第三范式第三范式(3NF)4.2.4 BC范式范式(BCNF)4.2.5 多值依賴與第四范式多值依賴與第四范式(4NF) 定義:若關系模式定義:若關系模式R中的所有屬性都是不可分的基中的所有屬性都是不可分的基 本數(shù)據(jù)項本數(shù)據(jù)項,則則R1NF。l 關系模式必須滿足第一范式關系模式必須滿足第一范式SLC (Sno, Sdept, Sloc, Cno, G

7、rade)冗余大、更新異常冗余大、更新異常不是好的關系模式不是好的關系模式!例:例:Student (Sno, Sdept, Mname, Cname, Grade) 定義:若定義:若 R1NF,并且每一個,并且每一個非主屬性非主屬性都完全都完全函數(shù)依賴于碼,則函數(shù)依賴于碼,則R2NF。S1 (Sno, Cname, Grade)S2 (Sno, Sdept, Mname)Student 1NF投影投影分解分解冗余大、更新異常冗余大、更新異常不是好的關系模式不是好的關系模式!定義:若定義:若 R2NF,并且每一個,并且每一個非主屬性非主屬性不傳遞不傳遞函數(shù)依賴于碼,則函數(shù)依賴于碼,則R3NF。

8、S21 (Sno, Sdept)S22 (Sdept, Mname)S2 2NF投影投影分解分解l 3NF基本上基本上能消除冗余和更新異常消除冗余和更新異常3NFS1?例:例:STJ (S, T, J)l 每門課由若干老師教每門課由若干老師教l 每位老師只教一門課每位老師只教一門課l 學生選了某門課學生選了某門課l 學生聽了某老師的課學生聽了某老師的課3NF存在問題!存在問題!定義:若定義:若 R1NF,并且對于每一個非平凡函數(shù),并且對于每一個非平凡函數(shù)依賴依賴X Y,X必必含有碼含有碼,則,則RBCNF。結論:結論:l 所有所有非主屬性非主屬性都完全函數(shù)依賴于每個碼都完全函數(shù)依賴于每個碼l

9、所有所有主屬性主屬性都完全函數(shù)依賴于每個不包含它的碼都完全函數(shù)依賴于每個不包含它的碼l 沒有任何屬性完全函數(shù)依賴于沒有任何屬性完全函數(shù)依賴于非碼非碼的任何一組屬性的任何一組屬性3NF與與BCNF的關系?的關系?STJ 3NFST (S, T)TJ (T, J)投影投影分解分解BCNF例:例:SJP (S, J, P)S:學生:學生 J:課程:課程 P:名次:名次l3NF和和BCNF通常都是數(shù)據(jù)庫設計者所追求的關通常都是數(shù)據(jù)庫設計者所追求的關系范式,有時統(tǒng)稱為第三范式;系范式,有時統(tǒng)稱為第三范式;l如果一個關系數(shù)據(jù)庫的所有關系模式都屬于如果一個關系數(shù)據(jù)庫的所有關系模式都屬于BCNF,在,在函數(shù)依

10、賴函數(shù)依賴范疇內,它已達到了范疇內,它已達到了最高最高的規(guī)范化程度,消除了異常。的規(guī)范化程度,消除了異常。例:例:Teach (C, T, B)碼?范式?碼?范式?好的關系模式?好的關系模式?1. 多值依賴多值依賴定義:設定義:設R(U)是屬性集是屬性集U上的一個關系模式,上的一個關系模式,X, Y, Z是是U的子集,的子集,Z = U-X-Y,若,若R(U)的任意一的任意一個關系,對于個關系,對于(X, Z)的每個值,存在的每個值,存在Y的一組值的一組值與其對應,且與其對應,且Y的這組值僅僅決定于的這組值僅僅決定于X值而與值而與Z值的無關,則:值的無關,則:l Z為空時,稱為空時,稱X Y

11、為平凡的多值依賴為平凡的多值依賴l Z非空時,稱非空時,稱X Y 為非平凡的多值依賴為非平凡的多值依賴Teach (C, T, B)C BC TWMP (W, M, P)定義:若定義:若 R1NF,并且對于每一個,并且對于每一個非平凡非平凡多值多值依賴依賴X Y(Y不被不被X包含包含),X必必含有碼含有碼,則,則R4NF。BCNF與與4NF的關系?的關系?WMP (W, M, P)WM (W, M)WP (W, P)投影投影分解分解4NFl在函數(shù)依賴范疇內,在函數(shù)依賴范疇內,BCNF是規(guī)范化程度最是規(guī)范化程度最高的;高的;l在多值依賴范疇內,在多值依賴范疇內,4NF是規(guī)范化程度最高是規(guī)范化程度

12、最高的;的;l連接依賴與連接依賴與5NF。4.3.1 關系模式規(guī)范化的步驟關系模式規(guī)范化的步驟4.3.2 關系模式的分解關系模式的分解l1NF 消除消除非主屬性非主屬性對碼的對碼的部分部分函數(shù)依賴函數(shù)依賴l2NF 消除消除非主屬性非主屬性對碼的對碼的傳遞傳遞函數(shù)依賴函數(shù)依賴l3NF 消除消除主屬性主屬性對碼的對碼的部分和傳遞部分和傳遞函數(shù)依賴函數(shù)依賴lBCNF 消除非平凡且非函數(shù)依賴的消除非平凡且非函數(shù)依賴的多值多值依賴依賴l4NF 消除不是由候選碼所蘊含的消除不是由候選碼所蘊含的連接連接依賴依賴l5NF*消除決定屬性集非碼的消除決定屬性集非碼的非平凡函數(shù)依賴非平凡函數(shù)依賴定義:關系模式定義:

13、關系模式R(U, F)的分解就是用一組關的分解就是用一組關系模式系模式R1(U1, F1), R2(U2, F2), Rn(Un, Fn)來取代來取代R,其中,其中U=U1U2Un,且不,且不存在存在Ui Uj,F(xiàn)i為為F在在Ui上的投影。上的投影。l 分解后的關系模式應與原關系模式等價分解后的關系模式應與原關系模式等價l 無損連接的分解無損連接的分解 不丟失信息,且定能達到不丟失信息,且定能達到4NFl 保持函數(shù)依賴的分解保持函數(shù)依賴的分解 減輕異常,且定能達到減輕異常,且定能達到3NFl 既保持函數(shù)依賴又無損連接的分解既保持函數(shù)依賴又無損連接的分解 定能達到定能達到3NF分解分解1:SN (Sno), SD (Sdept), SO (Sloc)分解分解2:NL (Sno, Sloc), DL (Sdept, Sloc)分解分解3:ND (Sno, Sdept), NL (Sno, Sloc)分解分解4:ND (Sno, Sdept), DL (Sdept, Sloc)分解時,最好一個關系出現(xiàn)一個基本的函數(shù)依賴分解時,最好一個關系出現(xiàn)一個基本的函數(shù)依賴l任何一個二目關系都是屬于任何一個二目關系都是屬于3NF;l任何一個二目關系都是屬于任何一個二目關系都是屬于BCNF;l任何一個二目關系都是屬于任何一個二目關系都是屬于4NF;l

溫馨提示

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

評論

0/150

提交評論