關系模式的規(guī)范化課件_第1頁
關系模式的規(guī)范化課件_第2頁
關系模式的規(guī)范化課件_第3頁
關系模式的規(guī)范化課件_第4頁
關系模式的規(guī)范化課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4講關系模式的規(guī)范化第5章關系數(shù)據(jù)庫模式設計例:R=(S#,C#,GRADE,TNAME,TADDR),F(xiàn)={C#TNAME,(S#,C#)GRADE,TNAMETADDR}主要問題:C#TNAMEC#TNAMETNAMETADDRC#TADDR(S#,C#)TADDR到底什么樣的關系模式是最優(yōu)的?標準是什么?如何實現(xiàn)?主要內容范式第一范式第二范式第三范式BCNF范式之間的關系和關系模式的規(guī)范化向3NF的模式分解算法在一個關系模式R中,如果R的每一個屬性的值域中的值都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式(1NF)的模式,也稱R∈1NF。二、第一范式(1NF)1NF是最基本的范式,滿足1NF的關系稱為規(guī)范化的關系,否則,稱為非規(guī)范化的關系。例:R=(S#,C#,GRADE,TNAME,TADDR),F(xiàn)={C#TNAME,(S#,C#)GRADE,TNAMETADDR}S#C#GRADETNAMETADDR200401001C401001C402002C403001909085徐浩李陽洋宋歌a1b1c1200401002C401001C4020027588徐浩李陽洋a1b1200401003C40200269李陽洋b1200402001C40100487徐浩a1結論:R不是1NF模式二、第一范式(1NF)(續(xù)1)解決方法對于有子表的非規(guī)范關系,一般采用重復所在行的其它屬性的值,增加新的記錄,從而把子表中的值分開,將非規(guī)范關系轉換成規(guī)范關系。二、第一范式(1NF)(續(xù)2)三、第二范式(2NF)定義:如果一個關系模式R是1NF,且它的每一個非主屬性都完全函數(shù)依賴于候選鍵,那么稱R是滿足第二范式(2NF)的關系模式。例:R=(S#,C#,GRADE,TNAME,TADDR),F(xiàn)={C#TNAME,(S#,C#)GRADE,TNAMETADDR}三、第二范式(2NF)(續(xù)1)學號(S#)課程號(C#)教師名(TNAME)部分依賴結論:R不是2NF模式S#C#GRADETNAMETADDR200401001C40100190徐浩a1200401001C40200290李陽洋b1200401001C40300185宋歌c1200401002C40100175徐浩a1200401002C40200288李陽洋b1200401003C40200269李陽洋b1200402001C40100487徐浩a1例:R=(S#,C#,GRADE,TNAME,TADDR),F={C#TNAME,(S#,C#)GRADE,TNAMETADDR}三、第二范式(2NF)(續(xù)2)例:R1(S#,C#,GRADE),F1={(S#,C#)GRADE}R2(C#,TNAME,TADDR),F2={C#TNAME,TNAMETADDR}C#TNAMETADDRC401001徐浩a1C402002李陽洋b1C403001宋歌c1C401004徐浩a1S#C#GRADE200401001C40100190200401001C40200290200401001C40300185200401002C40100175200401002C40200288200401003C40200269200402001C40100487三、第二范式(2NF)(續(xù)4)結論:R1和R2是2NF模式r2r1結論:R2中仍然存在數(shù)據(jù)冗余和操作異常四、第三范式(3NF)定義:如果一個關系模式R屬于1NF,且R的任何一個非主屬性都不傳遞依賴于R的候選鍵,那么稱R是滿足第三范式(3NF)的關系模式。

例:R1(S#,C#,GRADE),F1={(S#,C#)GRADE}R2(C#,TNAME,TADDR),F2={C#TNAME,TNAMETADDR}結論:R1是3NF模式

R2不是3NF模式四、第三范式(3NF)(續(xù)1)例:在關系模式R(CITY,STREET,ZIP)中,候選鍵為{CITY,STREET}和{ZIP,STREET},

F={{CITY,STREET}→ZIP,ZIP→CITY}。結論:R是3NF模式舉例:CITYSTREETZIP主屬性對候選鍵的部分依賴五、BCNF定義:設有關系模式R(U,F),F(xiàn)是R上的函數(shù)依賴集,X和A是U的子集,且A不是X的子集。如果對于F中的每一個函數(shù)依賴X→A,X都是R的一個候選鍵,則稱R是鮑依斯-柯德范式,記為BCNF。結論:R不是BCNF模式五、BCNF(續(xù))例:R(CITY,STREET,ZIP),候選鍵為{CITY,STREET}和{ZIP,STREET}F={{CITY,STREET}→ZIP,ZIP→CITY}。1、定理定理5.6:一個3NF的關系模式一定是2NF的。定理5.7:一個BCNF的關系模式一定是3NF的。證明:用反證法。設R是3NF的,但不是2NF的,那么一定存在非主屬性A、候選鍵X和X的真子集Y,使得Y→A

X→Y與假設矛盾,所以R也是2NF的。證畢。X→A2、范式之間的關系消除非主屬性對侯選鍵的部分函數(shù)依賴消除非主屬性對侯選鍵的傳遞函數(shù)依賴1NF2NF3NFBCNF消除主屬性對侯選鍵的部分或傳遞函數(shù)依賴3、關系模式的規(guī)范化關系模式的規(guī)范化就是通過對模式進行分解,將一個屬于低級范式的關系模式轉換成若干個屬于高級范式的關系模式的過程,從而解決或部分解決數(shù)據(jù)冗余、更新異常等問題。七、向3NF的模式分解算法(續(xù)1)(1)若有函數(shù)依賴X→AF,且XA=R,則ρ={R},轉(5);(2)找出R的不在F中出現(xiàn)的所有屬性,并把這些屬性構成一個關系模式。然后把這些屬性從U中去掉,將剩余的屬性仍記為U。(3)對F中的函數(shù)依賴按具有相同左部的原則進行分組,并按合并規(guī)則將每一組合并成一個新的函數(shù)依賴。比如若有X→A1,X→A2,…,X→Am,則可以將它們合并成X→A1A2…Am。(4)對于F中的每一個X→Y,都構成一個關系模式Ri=XY。(5)停止分解,輸出ρ。F是最小函數(shù)依賴集C#,TNAMES#,C#,GRADETNAME,TADDRρ={R1(C#,TNAME),R2(S#,C#,GRADE),R3(TNAME,TADDR),},保持依賴性例:R=(S#,C#,GRADE,TNAME,TADDR),F(xiàn)={C#TNAME,(S#,C#)GRADE,TNAMETADDR}七、向3NF的模式分解算法(續(xù)2)小結消除非主屬性對侯選鍵的部分函數(shù)依賴消除非主屬性對侯選鍵的傳遞函數(shù)依賴1NF2NF3NFBCNF消除主屬性對侯選鍵的部分或傳遞函數(shù)依賴保證數(shù)據(jù)庫中各關系模式屬于2NF是數(shù)據(jù)庫邏輯設計中的最低要求。在多數(shù)情況下,數(shù)據(jù)庫模式中的關系模式要求達到3NF。關系模型

溫馨提示

  • 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

提交評論