




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論關(guān)系數(shù)據(jù)理論1問題的提出(1)關(guān)系模式: R(U ,D, dom, F) ,其中: U :一組屬性D: 屬性組中的屬性所來自的域Dom:屬性到域的映射 F:屬性組上的一組數(shù)據(jù)依賴通過一個(gè)關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系。(函數(shù)依賴、多值依賴等)2問題的提出(2)函數(shù)依賴(functional dependency簡稱FD):指一個(gè)或一組屬性的值可以決定其他屬性的值。如學(xué)號(hào)決定學(xué)生的姓名。設(shè)X,Y是關(guān)系的兩個(gè)不同的屬性組,如果Y函數(shù)依賴于X或X函數(shù)決定Y ,則其依賴關(guān)系可表示為 。函數(shù)依賴存在與否,完全決定于數(shù)據(jù)的語義。3引例(1)設(shè)有一關(guān)系R,具有下列屬性:學(xué)號(hào)
2、(S#)、課程號(hào)(C#)、成績(G)、TN(任課教師姓名)、教師所在系(D)。數(shù)據(jù)具有如下語義:一個(gè)學(xué)生一個(gè)學(xué)號(hào),一門課程一個(gè)課程號(hào)一位學(xué)生所修的每門課程都有一個(gè)成績每門課程只有一位任課教師,一教師可教多門課教師中沒有重名,每位教師只屬于一個(gè)系4引例(2)具有的函數(shù)依賴: F=(S#, C#) G, C# TN, TN D可用圖表示如下:S#C#GTND5引例(3)數(shù)據(jù)冗余太大。修改異常。如修改一門課的任課教師由于主屬性不能為空,會(huì)引起插入異常。如某系一位教師不教課,其數(shù)據(jù)便不能插入刪除異常。如所有的學(xué)生都退選某門課,必須將有關(guān)這門課的其他數(shù)據(jù)(任課教師及其所在系)刪除。6引例(4)缺點(diǎn)的產(chǎn)生
3、主要來自關(guān)系的結(jié)構(gòu)。該關(guān)系中包含三方面數(shù)據(jù):成績,開課教師和所屬系。解決途徑是將關(guān)系進(jìn)行分解關(guān)系規(guī)范化。 SCG(S#, C#, G) CTN(C#, TN) TND(TN, D)關(guān)系規(guī)范化主要是對(duì)關(guān)系進(jìn)行必要的分解,如何分解,分解后是否有損于原來的信息?7規(guī)范化(1)規(guī)范化理論在1971年由E.F.Kodd提出,主要研究如何根據(jù)一個(gè)關(guān)系所具有的數(shù)據(jù)依賴情況來判定其是否具有某些不合適的性質(zhì)。對(duì)于任何一個(gè)關(guān)系,最低要求是每一個(gè)屬性是不可再分的數(shù)據(jù)項(xiàng),滿足這個(gè)條件的關(guān)系模式即為第一范式。按屬性間依賴情況,區(qū)分關(guān)系規(guī)范化程度為1NF, 2NF, 3NF, BCNF, 4NF, 5NF。8函數(shù)依賴的定
4、義設(shè)R(U)是屬性集U 上的關(guān)系模式。X,Y是U 的子集。若對(duì)于R(U) 的任意一個(gè)可能的關(guān)系r, r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)決定Y或Y函數(shù)依賴 X,記作: XY。9記號(hào)和術(shù)語XY, 但Y X, 則稱XY為非平凡函數(shù)依賴XY, 但Y X, 則稱XY為平凡函數(shù)依賴若XY,則X叫做決定因素若XY,YX,則記作XY 若Y不函數(shù)依賴于X,則記作XY10完全函數(shù)依賴在R(U)中,如果XY, 并且對(duì)于X的任何一個(gè)真子集X,都有X Y, 則稱Y對(duì)X完全函數(shù)依賴,記作:若XY,但Y不完全函數(shù)依賴X,則稱Y對(duì)X部分函數(shù)依賴,記作:例:SC(S#, C#, G)中,
5、 (S#, C#)G, S#G, C#G, 11傳遞函數(shù)依賴在R(U)中,如果XY(Y X), YX, YZ,則稱Z對(duì)X傳遞函數(shù)依賴。例:某銀行定期儲(chǔ)蓄數(shù)據(jù)庫,R(帳號(hào), 姓名, 儲(chǔ)蓄額, 收儲(chǔ)員, 儲(chǔ)蓄所名) 帳號(hào)姓名, 儲(chǔ)蓄額, 收儲(chǔ)員, 儲(chǔ)蓄所名; 收儲(chǔ)員 儲(chǔ)蓄所名 儲(chǔ)蓄所名傳遞函數(shù)依賴帳號(hào)。12碼設(shè)K為R(U, F)中的屬性或?qū)傩越M合, 若 則K為R的候選碼。若候選碼多于一個(gè),則選定其中一個(gè)為主碼。包含在任何一個(gè)候選碼中的屬性叫主屬性。不包含在任何碼中的屬性稱為非主屬性。整個(gè)屬性是碼,稱為全碼。關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱X是R的外碼。13范式范
6、式:符合某一種級(jí)別的關(guān)系模式的集合,即規(guī)范化的關(guān)系模式。對(duì)于各種范式之間的聯(lián)系有:規(guī)范化:一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過程叫規(guī)范化。142NF(1)若R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R2NF。例:SLC(S#, SD, SL, C#, G),每個(gè)系的學(xué)生住在同一個(gè)地方,碼為(S#, C#),函數(shù)依賴F: (S#, C#) G, S# SD, S# SL, SD SL SLC2NFGSDSLS#C#152NF(2)問題:插入異常:若插入未選課學(xué)生情況(S7, PHY, N),由于碼的一部分為空,所以不能插入。刪除異常:若某學(xué)
7、生只選了一門課,現(xiàn)在這門課也不選了,將刪除改學(xué)生所有的情況修改復(fù)雜:某學(xué)生轉(zhuǎn)系了,則需修改多處,使修改變得復(fù)雜。數(shù)據(jù)冗余:某學(xué)生選了多門課,則系別須重復(fù)多次,造成大量數(shù)據(jù)冗余。162NF(3)解決方法:用投影分解將上述關(guān)系分解為: SC(S#, C#, G), SL(S#, SD, SL)GS#C#SDSLS#173NF(1)對(duì)于SL(S#, SD, SL),處于第二范式,但仍存在問題:插入:若新建一個(gè)系,尚無學(xué)生,則無法插入刪除:若該系所有學(xué)生都畢業(yè)了,刪除學(xué)生信息的同時(shí)將系的信息也刪除了修改:修改SL時(shí),有多少學(xué)生就要修改多少次出現(xiàn)上述問題,因?yàn)槲聪齻鬟f函數(shù)依賴。183NF(2)關(guān)系模式
8、R(U, F)中若不存在這樣的碼X,屬性組Y及非主屬性Z(Z不包含于Y),使得XY(YX)YZ成立,則稱R3NF。若R3NF,則每一個(gè)非主屬性既不部分依賴于碼,也不傳遞依賴于碼。上述關(guān)系的解決方法:將SL分解 S_D(S#, SD) , DL(SD, SL)SDSLS#19BCNF(1)由Boyce和Codd提出3NF關(guān)系模式的遺留問題是其定義中未涉及主屬性的存儲(chǔ)異常問題。例:關(guān)系模式R(C(City), S(Street), Z(Zip),其函數(shù)依賴: (C, S) Z, Z C,顯然(C,S)為碼,CSZ20BCNF(2)關(guān)系模式R(U, F)1NF,若XY,且Y不包含于X時(shí),X必含有碼,
9、則RBCNF。即關(guān)系模式R(U, F)中,若每一個(gè)決定因素都包含碼,則RBCNF。一個(gè)滿足BCNF的關(guān)系模式:所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴所有的主屬性對(duì)每一個(gè)不包含它的碼也是完全函數(shù)依賴沒有任何屬性完全函數(shù)依賴于非碼的任一組屬性21BCNF(3)若RBCNF,則R3NF,反之不一定。例1:SJP(S, J, P),函數(shù)依賴: (S, J) P; (J, P) S SJPBCNFSJP22BCNF(4)例2:STJ (S, T, J), 函數(shù)依賴: (S, J) T; (S, T) J; T JSTJ3NF但STJBCNF, 分解為 ST(S, T), (T, J)JST23BCNF(
10、5)倉庫保管WPE(W#(倉庫), P#(器件), E#(職工), QNT), 反映的語義:一個(gè)倉庫有多個(gè)職工一個(gè)職工僅在一個(gè)倉庫工作每個(gè)倉庫里一種器件由專人負(fù)責(zé),但一個(gè)人可以管理幾種器件函數(shù)依賴: (W#, P#)QNT, (W#, P#)E#, E#W#, (E#, P#)QNT該關(guān)系模式是3NF24多值依賴(1)學(xué)校中某門課程由多個(gè)教師講授,使用相同的一套參考書,每個(gè)教師可以講授多門課程,每中參考書可以供多門課程使用。課程C教師T參考書B課程C教師T參考書B物理李勇普物數(shù)學(xué)李勇數(shù)學(xué)分析物理李勇光學(xué)原理數(shù)學(xué)李勇微分方程物理李勇物理習(xí)題數(shù)學(xué)李勇高等代數(shù)物理王軍普物數(shù)學(xué)張平數(shù)學(xué)分析物理王軍光學(xué)
11、原理數(shù)學(xué)張平微分方程物理王軍物理習(xí)題數(shù)學(xué)張平高等代數(shù)25多值依賴(2)設(shè)R(U)是屬性集U上的一個(gè)關(guān)系模式,X,Y,Z是U的子集,并且Z=U-X-Y。關(guān)系模式R(U)中的多值依賴XY成立,當(dāng)且僅當(dāng)對(duì)R(U)的任意關(guān)系r,給定的一對(duì)(x,z)值,有一組Y的值,這組值僅僅決定于x的值而與z值無關(guān)。這種依賴稱為多值依賴(Multivalued Dependency, 簡稱MVD)。在上例中,CT。26多值依賴(3)在R(U)的任一關(guān)系r,如果存在元組t, s使得tX=sX,那么就必然存在有元組w,vr,使得wX=vX=t X,而wY=tY, wZ= sZ, vY=sY,vZ=tZ(即交換s, t元組
12、的Y值所得的兩個(gè)新元組必在r中),則Y多值依賴于X,記作 XY。 其中X,Y是U的子集,并且Z=U-X-Y。若XY,而Z=,則稱XY為平凡多值依賴。27多值依賴的性質(zhì)(1)多值依賴具有對(duì)稱(互補(bǔ))性。即若XY,則XZ,其中, Z=U-X-Y。多值依賴具有傳遞性。即若XY,YZ,則XZ。函數(shù)依賴是多值依賴的特殊情況。即若XY則XY。28多值依賴的性質(zhì)(2)多值依賴的合并規(guī)則:若XY,XZ,則XYZ。多值依賴的分解規(guī)則:若XY,XZ,則XYZ;多值依賴的分解規(guī)則:若XY,XZ,則XY-Z, X Z-Y。29多值依賴和函數(shù)依賴的區(qū)別多值依賴的有效性與屬性集的范圍有關(guān)。設(shè)有屬性子集W,滿足XY W U
13、,如果XY在U上成立,則在W上一定成立,反之則不一定。這種僅在U的子集上成立的多值依賴稱為嵌入多值依賴。若函數(shù)依賴XY在R(U)上成立,則對(duì)于任何 均有XY成立。而對(duì)于多值依賴XY,若在R(U)上成立,卻不能斷定對(duì)于任何 有XY成立。304NF關(guān)系模式R(U, F)1NF,如果對(duì)于R的每個(gè)非平凡多值依賴XY(Y X),X都含有碼,則R4NF。如果一個(gè)關(guān)系模式是4NF,則必為BCNF。P180例2中的關(guān)系模式不是4NF,可用投影分解的方法消去非平凡且非函數(shù)依賴的多值依賴,分解為WS(W, S)和WC(W, C)。31連接依賴(1)函數(shù)依賴表現(xiàn)為對(duì)屬性值的約束,多值依賴實(shí)際上表示為對(duì)元組值的約束。
14、設(shè)有一關(guān)系SPJ(S#, P#, J#),如果此關(guān)系的語義滿足下列條件: SPJ= SPJS#, P# SPJP#, J# SPJS#,J#即可分解為等價(jià)的三個(gè)二元關(guān)系,滿足這樣條件的分解稱為無損連接分解(nonloss or lossless join decomposition)。32連接依賴(2)例SPJ A B在A中插入(S2,P1,J1),分解后的三個(gè)二元關(guān)系連接后為B所示。可見無損分解這樣的語義約束對(duì)元組值施加了限制,即為連接依賴。 S#P#J#S1P1J2S1P2J1S#P#J#S1P1J2S192J1S2P1J1S1P1J133連接依賴(3)設(shè)X1、X2、Xn是關(guān)系R的屬性集U
15、的子集,且 。若對(duì)R的任一值, 均成立,則稱R具有連接依賴。記作: (X1, X2, , Xn)對(duì)連接依賴了解即可,在數(shù)據(jù)庫設(shè)計(jì)中,幾乎不需要考慮這種數(shù)據(jù)依賴。 34規(guī)范化小結(jié)(1)目的:使結(jié)構(gòu)合理,消除存儲(chǔ)異常使數(shù)據(jù)冗于盡量消,便于插入、刪除和更新。原則:遵從概念單一化“一事一地”原則,即一個(gè)關(guān)系模式描述一個(gè)實(shí)體或?qū)嶓w間的一種關(guān)系。方法:將關(guān)系模式投影分解成兩個(gè)或兩個(gè)以上的關(guān)系模式。要求:分解后應(yīng)保持屬性間合理的聯(lián)系。35規(guī)范化小結(jié)(2) 1NF消除 消除非主屬性對(duì)碼的部分函數(shù)依賴決定 2NF因素 消除非主屬性對(duì)碼的傳遞函數(shù)依賴 非碼 3NF的非 消除主屬性對(duì)碼的部分和傳遞函數(shù)依賴平凡 BC
16、NF函數(shù) 消除非平凡且非函數(shù)依賴的多值依賴依賴 4NF36函數(shù)依賴的公理系統(tǒng)對(duì)于滿足一組函數(shù)依賴F 的關(guān)系模式R,其任何一個(gè)關(guān)系r,若函數(shù)依賴 XY都成立,則稱F 邏輯蘊(yùn)含XY。即一關(guān)系模式如果滿足F,則必然滿足XY。為確定給定關(guān)系模式的碼,為了從已知的函數(shù)依賴推導(dǎo)出其他函數(shù)依賴,Armstrong于1974年提出了一套推理規(guī)則,通常稱之為Armstrong公理( Armstrongs axioms)。37Armstrong公理系統(tǒng)(1)設(shè)關(guān)系模式R(U,F), U為屬性集總體,F(xiàn)是U上的一組函數(shù)依賴:A1自反律(Reflexivity):若Y X U,則XY為F所蘊(yùn)含。這是一個(gè)平凡函數(shù)依賴。
17、A2增廣律:如果XY為F所蘊(yùn)含,且Z U,則XZYZ為F所蘊(yùn)含。A3傳遞律:若XY及YZ為F所蘊(yùn)含,則XZ為F所蘊(yùn)含。38Armstrong公理系統(tǒng)(2)定理1:Armstrong公理是正確的,即如果F成立,則有F根據(jù)Armstrong公理所推導(dǎo)的函數(shù)依賴總是成立的。證明A1:設(shè)t, s是關(guān)系R中任意兩個(gè)元組,如果tX=sX,由于Y X,有tY=sY,得證。 證明A2:設(shè)t, s是關(guān)系R中任意兩個(gè)元組, 如果tXZ=sXZ,則有tX=sX和 tZ=sZ, 由于XY,可得tY=sY, 所以tYZ=sYZ,得證。39Armstrong公理系統(tǒng)(3)證明A3:設(shè)t, s是關(guān)系R中任意兩個(gè)元組, 如果
18、tX=sX,則有tY=sY, 如果tY=sY,則有tZ=sZ, 由上可知:如果tX=sX,則有tZ=sZ, 即XZ,得證。40三條推理規(guī)則(1)合并規(guī)則:由XY, XZ,有XYZ。證明: 由XY得X XY (A2) 由XZ得XYYZ (A2) 所以:有XYZ。(A3)偽傳遞規(guī)則:由XY, WYZ,有XWZ。證明: 由XY得WXWY (A2) 由WYZ, 所以:有XYZ。A3)41三條推理規(guī)則(2)分解規(guī)則:由XY, Z Y,有XZ。證明: 由Z Y得YZ (A1) 由XY, 所以:有XZ。(A3)引理: XA1,A2, ,An成立的充要條件是XAi(i=1,2, n)成立。證明:由分解規(guī)則,如果XA1,A2, ,An成立則XAi(i=1,2, n)成立。由合并規(guī)則,由XAi(i=1,2, n)成立,則XA1,A2, ,An成立。得證。42習(xí)題(1)設(shè)學(xué)生(學(xué)號(hào),姓名,年齡,性別,成績,專業(yè)),該關(guān)系模式的主碼是( )。 A 學(xué)號(hào) B 學(xué)號(hào),姓名 C 姓名 D 學(xué)號(hào),姓名,年齡XAi(i=1,2, n)成立是XA1,A2, ,An成立的( )。 A 充分條件 B 必要條件 C 充要條件 D 既不充分也不必要關(guān)系數(shù)據(jù)課設(shè)計(jì)理論中,其核心作用的是: A 范式 B 模式設(shè)計(jì) C 數(shù)據(jù)依賴 D 數(shù)據(jù)完整性43習(xí)題(2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際法貿(mào)易法規(guī)知識(shí)點(diǎn)梳理
- 商戶交易記錄統(tǒng)計(jì)表
- 設(shè)計(jì)創(chuàng)意征集成果統(tǒng)計(jì)表
- 2025福建投資集團(tuán)能源板塊去場(chǎng)招聘114人筆試參考題庫附帶答案詳解
- 懸挑卸料平臺(tái)專項(xiàng)施工方案
- 2025年嵌入式軟件服務(wù)項(xiàng)目建議書
- 2025年上半年宣城市各市區(qū)事業(yè)單位招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年宜賓江安縣人社局招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安順市公安局招考工勤人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽建工建筑材料限公司招聘102人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員考試真題
- 《VAVE價(jià)值工程》課件 - 創(chuàng)造最大化的價(jià)值與效益
- 中醫(yī)養(yǎng)生保健知識(shí)科普
- 浙江省杭州市2024年中考英語真題(含答案)
- 中國水資源與水環(huán)境-王浩
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫及答案
- 勞動(dòng)定額定員標(biāo)準(zhǔn)化1(孫義敏)
- 智慧醫(yī)院可行性研究報(bào)告
- 海克斯康三坐標(biāo)測(cè)量儀的使用課件
- 防洪堤工程施工質(zhì)量保證體系
評(píng)論
0/150
提交評(píng)論