第五章關(guān)系數(shù)據(jù)庫設(shè)計理論PPT課件_第1頁
第五章關(guān)系數(shù)據(jù)庫設(shè)計理論PPT課件_第2頁
第五章關(guān)系數(shù)據(jù)庫設(shè)計理論PPT課件_第3頁
第五章關(guān)系數(shù)據(jù)庫設(shè)計理論PPT課件_第4頁
第五章關(guān)系數(shù)據(jù)庫設(shè)計理論PPT課件_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、第五章關(guān)系數(shù)據(jù)庫設(shè)計理論 5.1 數(shù)據(jù)依賴5.2 范式 5.3 關(guān)系模式的規(guī)范化 5.1 數(shù)據(jù)依賴 5.1.1 關(guān)系模式中的數(shù)據(jù)依賴 完整的關(guān)系模式的描述:R(U,D,DOM,F(xiàn)) lR關(guān)系名 lU屬性組 lD是U的取值范圍,是域的集合 lDOM是屬性向域映象的集合 lF是屬性間數(shù)據(jù)的依賴關(guān)系集合 關(guān)系模式是靜態(tài)的、穩(wěn)定的;關(guān)系是動態(tài)的,不同時刻關(guān)系模式中的關(guān)系可能不同,但關(guān)系都必須滿足關(guān)系模式中數(shù)據(jù)依賴關(guān)系集合F指定的完整性約束 影響數(shù)據(jù)庫模式設(shè)計的主要是U和F,所以一般關(guān)系模式簡化為:R(U, F) 5.1.2 數(shù)據(jù)依賴對關(guān)系模式的影響l 數(shù)據(jù)依賴有: 函數(shù)依賴、多值依賴和連接依賴 q一個

2、關(guān)系模式示例 USno,Sdept,Mname,Cname,Grade FSno-Sdept, Sdept-Sname, (Sno,Cname)-Gradel 該關(guān)系模式存在如下問題 : 數(shù)據(jù)冗余太大:系主任名字重復(fù)出現(xiàn),和所有學(xué)生的所有課程成績次數(shù)一樣 更新異常:更換系主任必須修改每一個學(xué)生信息 插入異常:剛成立的系如果還沒有招生就無法存儲系主任信息 刪除異常:某個系的學(xué)生全部畢業(yè)刪除時會丟失系主任信息 5.1.3 相關(guān)概念 函數(shù)依賴函數(shù)依賴R(U)是一個關(guān)系模式,U是R的屬性集合,X和Y是U的子集,對于R(U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組w,v,使得wX=vX而wYvY,

3、稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記X-Y 平凡的和非平凡的函數(shù)依賴平凡的和非平凡的函數(shù)依賴關(guān)系模式R(U), X和Y是U的子集,如果X-Y,且YX,則稱X-Y是非平凡的函數(shù)依賴,否則稱平凡的函數(shù)依賴,我們討論的都是非平凡的函數(shù)依賴 l 完全函數(shù)依賴和部分函數(shù)依賴完全函數(shù)依賴和部分函數(shù)依賴關(guān)系模式R(U),如果X Y,且對于任意的X的真子集X都有X Y,則稱Y完全函數(shù)依賴于X,記X f Y。反之則Y不完全依賴于X,稱Y部分依賴于X,記X P Y l 傳遞函數(shù)依賴傳遞函數(shù)依賴關(guān)系模式R(U),如果XY,YZ,且Y X,則稱Z傳遞函數(shù)依賴于X,記X t Z l 碼的重新定義碼的重新定義關(guān)系模式R(

4、U,F),K為屬性組合,若K f U,則K是一個候選碼。 5.2 范式 l 范式定義數(shù)據(jù)依賴滿足某種條件級別的關(guān)系模式的集合 l 目前共6種范式:1NF2NF3NFBCNF4NF5NF 5.2.1 第一范式(1NF)l 1NF定義如果一個關(guān)系模式R的所有屬性都是原子的,即不可再分的基本數(shù)據(jù)項,則R1NF例:SCL(S, SN, SA, CLS, MON, C, CN, CRD, GR) 屬于1NF它有以下問題: 數(shù)據(jù)冗余大,如MON,CRD等 插入異常,當(dāng)無課程時學(xué)生信息無法插入 刪除異常,當(dāng)某個學(xué)生的選課信息全部刪除時無法保留學(xué)生基本信息 SCL存在的函數(shù)依賴關(guān)系 (S#,C#) f GR

5、(S#,C#) P SN S# f SN(S#,C#) P SA S# f SA (S#,C#) P CLS S# f CLS(S#,C#) P CN C# f CN (S#,C#) P CRD C# f CRD CLS MON S# t MON 5.2.2 第二范式(2NF)l 2NF定義 如果一個關(guān)系模式R1NF,并且每一非主屬性都完全依賴于R的碼,則R2NF。 顯然碼只包含一個屬性的R如果是1NF,則必是2NF例:S_L(S#,SN,SA,CLS,MON) C(C#,CN,CRD) S_C(S#,C#,GR)都屬于2NF存在問題: 數(shù)據(jù)冗余大,如MON 插入異常,無學(xué)生信息無法插入班長信

6、息 刪除異常,當(dāng)學(xué)生的信息刪除無法保存班長函數(shù)依賴關(guān)系:S# f SA S# f CLS S# f SN CLS MON S# t MON C# f CN C# f CRD (S#,C#) f GR5.2.3 第三范式(3NF)l 3NF定義 如果一個關(guān)系模式R中不存在非主屬性對碼的傳遞依賴,則R3NF 例:S(S,SN,SA,CLS) L(CLS,MON) C(C,CN,CRD) S_C(S,C,GR)都屬于3NF5.2.4 BC范式(BCNF)l BCNF定義 如果一個關(guān)系模式R(U,F)1NF,對R中的任意一個非平凡的函數(shù)依賴XY,X都含有候選碼,則RBCNF 例:STC(S,T,C)

7、S學(xué)生 T教師 C課程(S,C)T(S,T)C TC所以STC不是BCNF分解為:ST(S,T),TC(T,C)則都屬于BCNF 5.2.5 第四范式(4NF)l 多值依賴 關(guān)系模式R(U)屬性集U,X、Y和Z是U不相交的子集,且ZUXY,若關(guān)系模式R的任一關(guān)系r對于X的一個給定值,存在Y的一組值與之對應(yīng),且Y的這一組值與Z無關(guān),稱Y多值依賴于X,記XY。當(dāng)Z非空時稱非平凡的多值依賴 l 4NF定義 如果一個關(guān)系模式R(U,F)1NF,對R中的任意一個非平凡的多值依賴XY,X都含有候選碼,則R4NF 例:CTX(C,T,X) C 課程, T 教師, X 參考書候選碼:(C,T,X)CT,CX,

8、C不是候選碼,故CTX不屬于4NF分解為CT(C,T),CX(C,X),則都滿足4NF 5.2.6 第五范式(5NF)l 定義 關(guān)系模式R,其屬性集U,X1,X2.Xn分別為U的子集,XiU,如果對于R的每一個關(guān)系r都有rXi,則稱連接依賴(JD)在關(guān)系模式R上成立,記為*(X1,X2,.Xn),若某個Xi就是R,稱平凡的連接依賴。l 定義 如果一個關(guān)系模式R(U,F)1NF,對R中的任意一個連接依賴都都由候選碼蘊涵,則R5NF l 例:關(guān)系A(chǔ)FP AF Pa1f1p1a1f1p2a1f2p1a2f1p2a2f3p2AFa1f1a1f2a2f1a2f3FPf1p1f1p2f2p1f3p2APa

9、1p1a1p2a2p2AFPAFFPAPAF Pa1f1p1a1f1p2a1f2p1a2f1p1a2f1p2a2f3p2AFFPAF Pa1f1p1a1f1p2a1f2p1a2f3p2a2f1p1AFFPAP=AFP只有AF、FP、AP 三個關(guān)系連接才可以得到AFP,因此稱AFP具有連接依賴JD*(A,F,P)5.3 關(guān)系模式的規(guī)范化 5.3.1 關(guān)系模式的規(guī)范化步驟 1NF 2NF 3NF BCNF 4NF 5NF 消除非主屬性對碼的部分函數(shù)依賴關(guān)系 消除非主屬性對碼的傳遞函數(shù)依賴關(guān)系 消除主屬性對碼的部分函數(shù)依賴關(guān)系 消除非主屬性的非平凡的多值依賴 消除非候選碼蘊涵的連接依賴 消除決定屬性

10、集非碼的非平凡函數(shù)依賴 5.3.2 關(guān)系模式的分解 l 關(guān)系模式的規(guī)范化 通過對關(guān)系模式的分解來實現(xiàn)的 把低級別的關(guān)系模式分解為高級別的關(guān)系模式 分解不唯一,只有保證分解后的關(guān)系模式與原關(guān)系模式等價,才有意義 l 例:關(guān)系模式SL(Sno,Sdept,Sloc)SnoSdept,SdeptSloc, SnoSloc設(shè)SL有如下關(guān)系 SnoSdeptSloc95001CSA95002ISB95003MAC95004ISB95005PHBl 分解方法一:SN(Sno)、SD(Sdept)、SO(Sloc)SN、SD、SO都是很高的范式,屬于5NF,但分解后丟失很多信息SNSDSOSnoSdeptS

11、loc95001CSA95002ISB95003MAC95004 95005PH l 分解方法二:NL(Sno,Sloc)、DL(Sdept,Sloc)NLDLSnoSlocSdeptSloc95001ACSA95002BISB95003CMAC95004BPHB95005B分解后的關(guān)系NL和DL的自然連接結(jié)果 SnoSdeptSloc95001CSA95002ISB95002PHB95003MAC95004ISB95004PHB95005ISB95005PHBl NL和DL的自然連接結(jié)果多出三個元組,而實際上無法確定哪個是多余的,因此丟失了信息 l 定義如果關(guān)系模式R(U,F(xiàn))在分解為若干個

12、關(guān)系模式Ri(Ui,F(xiàn)i)后(其中UUi),若Ri的自然連接和原關(guān)系相等,則稱該分解具有無損連接性 l 分解方法三ND(Sno,Sdept)、NL(Sno,Sloc)分解后關(guān)系NDNLSnoSdeptSnoSloc95001CS95001A95002IS95002B95003MA95003C95004IS95004B95005PH95005Bl NL和DL的自然連接結(jié)果 和原關(guān)系相同,但當(dāng)某個學(xué)生轉(zhuǎn)系后需要修改兩個表,如95005轉(zhuǎn)為CS系后需PHCS,BA。原因是分解時丟失了SdeptSloc的函數(shù)依賴關(guān)系。l 定義如果在分解過程中原函數(shù)依賴F被每個分解后的某個關(guān)系函數(shù)依賴Fi所邏輯蘊涵,則稱該分解是保持函數(shù)依賴的 l 分解方法四 ND(Sno,Sdept)、DL(Sdept,Sloc)分解后關(guān)系NL和DL的自然連接結(jié)果和原關(guān)系相同,該分解是保持函數(shù)依賴的 NDDLSnoSdeptSdeptSloc95001CSCSA9

溫馨提示

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

評論

0/150

提交評論