數(shù)據(jù)庫知識3.ppt_第1頁
數(shù)據(jù)庫知識3.ppt_第2頁
數(shù)據(jù)庫知識3.ppt_第3頁
數(shù)據(jù)庫知識3.ppt_第4頁
數(shù)據(jù)庫知識3.ppt_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫基礎(chǔ)知識,第3講,7.5.2 規(guī)范化,常用的范式 1NF, 2NF, 3NF, 4NF(BCNF)和5NF。它們之間的關(guān)系如下: 5NF4NF 3NF 2NF 1NF;(應(yīng)該是真子集的關(guān)系); 規(guī)范化將低一級范式的關(guān)系轉(zhuǎn)化為高一級范式的關(guān)系的過程,稱為規(guī)范化。,1、1NF(第一范式),定義 若關(guān)系模式R的每一個分量是不可再分的數(shù)據(jù)項,則關(guān)系模式R屬于第一范式(1NF)。 舉例 有以下的關(guān)系模式First和函數(shù)依賴集F如下:具體關(guān)系見P395 表7-8。 First(Sno,Sname,Status,City,Pno,Qty); F(SnoSname,SnoStatus,StatusCit

2、y,(Sno,Pno)Qty); 其中每一個數(shù)據(jù)項是不可再分的,所以關(guān)系模式First是1NF的。,1NF存在的問題(見表7-8) (1)冗余度大 Sno,Sname,Status,City這些信息,要與其供應(yīng)的零件種類一樣多。 .又如:多個學(xué)生選修同一門課程是經(jīng)常出現(xiàn)的,如果一個課程有n個學(xué)生選修,就意味著(學(xué)生姓名,課程名,教師姓名,老師地址)會出現(xiàn)n次。 (2)容易引起修改操作不一致性。 如供應(yīng)商S1從“天津”搬到“上?!?,若稍不注意,就會使某些數(shù)據(jù)修改,而另一些數(shù)據(jù)沒有修改,造成數(shù)據(jù)的不一致性。 又如:當(dāng)數(shù)據(jù)出現(xiàn)冗余時,要修改某個課程教師的姓名,就要修改n處,否則產(chǎn)生數(shù)據(jù)不一致。,(3

3、)插入異常 關(guān)系模式的主碼為Sno,Pno,按照實體完整性規(guī)定,主碼不能為空或部分為空。這樣,當(dāng)某個供應(yīng)商的某些信息未提供時(如Pno),則不能進行插入操作。 例如,如果沒有學(xué)生選修某門課程,就無法輸入教師的姓名。 (4)刪除異常 若供應(yīng)商S4的零件P2售完了,且也以后不再銷售零件P2,那么應(yīng)該刪除該元組。則在First中找不到供應(yīng)商S4,但S4仍然存在(可能供應(yīng)其他零件)。 例如:如果刪除最后一個學(xué)生的選修信息,就刪除了還需要保留的(課程名,教師姓名,教師地址)信息。,2 2NF,定義 若關(guān)系模式R 1NF,且每個非主屬性完全依賴于碼,則關(guān)系模式R 2NF。 將1NF消除非主屬性對碼的部分依

4、賴,就變?yōu)?NF了。 將First關(guān)系模式拆分為以下兩個關(guān)系,就符合2NF了。 First1(Sno,Sname,Status,City); First2(Sno,Pno,Qty);,3、3NF,定義 若關(guān)系模式R(U,F)中不存在這樣的碼X,屬性組Y及非主屬性Z(Z不是Y的子集),使得XY,YZ成立,則關(guān)系模式R 3NF。 2NF消除了非主屬性對碼的傳遞依賴,就成為3NF。 舉例 First1不是3NF的,因為存在以下傳遞依賴:SnoStatus,StatusCity。將First1進行拆分,得到如下兩個關(guān)系: First11(Sno,Sname,Status); 3NF First12(S

5、tatus,City); 3NF 3NF性能較好,可以作為數(shù)據(jù)庫模式。,4、BCNF(巴克斯范式),定義 關(guān)系模式中,若X函數(shù)確定Y且Y不在X內(nèi)時X必含有碼,則此關(guān)系屬于BCNF。 3NF消除了主屬性對碼的部分和傳遞函數(shù)依賴,則稱為BCNF。亦即,每一個決定因素都包含了碼。 例子 設(shè)有關(guān)系R(Pno,Pname,Mname),表示零件號,零件名,制造商名?,F(xiàn)約定如下: (1)每個零件號Pno只有一個零件名Pname; (2)不同的零件號Pno可以有相同的零件名Pname; (3)每種零件Pno或Pname可以多個廠商Mname生產(chǎn); (4)每個廠商Mname生產(chǎn)的零件就有不同的零件名Pname

6、。,則有如下依賴關(guān)系: Pno Pname,(Pname, Mname) Pno; 則關(guān)系R的候選碼為(Pname,Mname)或(Pno,Mname),所以關(guān)系R中都為主屬性,沒有非主屬性對碼的傳遞依賴,所是3NF的,但主屬性Pname傳遞依賴于碼(Pname,Mname),所以不是BCNF的。 將R進行拆分: R1(Pno,Pname); R2(Pno,Mname); 則R1,R2都屬于BCNF。,5、4NF和5NF,如果關(guān)系模式達到了BCNF,那么在函數(shù)依賴范疇內(nèi),已經(jīng)消除了插入和刪除異常,但還可能出現(xiàn)一些問題。4NF則主要用于消除多值依賴,而5NF則是用于消除連接依賴。 。模式分解的目

7、標 在分解關(guān)系模式時,如果分解成BCNF模式集,那么能夠?qū)崿F(xiàn)無損連接分解,但不一定能夠保持FD;如果分解成3NF模式集,則能夠同時實現(xiàn)無損連接分解和保持FD。 在數(shù)據(jù)庫設(shè)計時,應(yīng)該盡可能使數(shù)據(jù)庫模式保持最優(yōu)特性,即盡可能設(shè)計成BCNF模式集。,7.5.3 模式分解及分解應(yīng)具有的特性,一、分解的無損連接性 定義:P397 定理:關(guān)系模式R(U,F(xiàn))的一個分解,P=R1(U1,F1),R2(U2,F2)具有無損連接分解的充分必要條件是: U1U2-U1-U2F+ 或 U1U2-U2-U1F+ 。保持函數(shù)依賴 P398定義,例1、設(shè)關(guān)系模式R,其中U=A, B, C, D, E,F(xiàn)ABC,CD,BCE,EA,則分解=R1(ABCE),R2(CD)滿足 ( ) 。 A具有無損連接性、保持函數(shù)依賴 B不具有無損連接性、保持函數(shù)依賴 C具有無損連接性、不保持函數(shù)依賴 D不具有無損連接性、不保持函數(shù)依賴 例2、給定關(guān)系模式R,U=A, B, C, D, E,F(xiàn)BA,DA,AE,ACB,其候選關(guān)鍵字為 ( 1 ) ,則分解=R1(ABCE),R2(CD)滿足 ( 2 ) 。(1) AABD BABE CACD DCD(2) A具有無損連接性、保持函數(shù)依賴 B不具有無損連接性、保持函數(shù)依賴 C具有無損連接性、不保持函數(shù)依賴 D不具有無損連接性、不

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論