數(shù)據(jù)庫范式與關(guān)系模式示例_第1頁
數(shù)據(jù)庫范式與關(guān)系模式示例_第2頁
數(shù)據(jù)庫范式與關(guān)系模式示例_第3頁
數(shù)據(jù)庫范式與關(guān)系模式示例_第4頁
數(shù)據(jù)庫范式與關(guān)系模式示例_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!第七章 補(bǔ)充講義一、 范式舉例例1:已知R,請問R為幾范式? 零件號單價P125P28P325P49BCNF。(25改成15還是BCNF.如:課程號與學(xué)號)例2:已知R,請問R為幾范式? 材料號材料名生產(chǎn)廠M1線材武漢M2型材武漢M3板材廣東M4型材武漢2NF。有部分依賴。例3:已知R,請問R為幾范式?ADEA1D1E2A2D6E2A3D4E3A4D4E4BCNF。例4:R(X,Y,Z),F=XY-Z,R為幾范式? BCNF。例5:R(X,Y,Z),F=Y-Z,XZ-Y,R為幾范式? 3NF。R的候選碼為XZ,XY,(R中所有屬性都是主屬性,無傳遞依賴

2、)1 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!二、 求閉包數(shù)據(jù)庫設(shè)計(jì)人員在對實(shí)際應(yīng)用問題調(diào)查中,得到的結(jié)論往往是零散的、不規(guī)范的(直觀問題好辦,復(fù)雜問題難辦了),所以,這對分析數(shù)據(jù)模型,達(dá)到規(guī)范化設(shè)計(jì)要求,還有差距,為此,從規(guī)范數(shù)據(jù)依賴集合的角度入手,找到正確分析數(shù)據(jù)模型的方法,以確定關(guān)系模式的規(guī)范化程度。例1 已知關(guān)系模式R(U、F),其中,U=A,B,C,D,E; F=AB C, B D, EC B , ACB ,求(AB)+F.解:設(shè)X(0)=AB計(jì)算X(1),在F中找出左邊為AB子集的FD,其結(jié)果是:ABC,BDX(1)=X(0)UB=ABUCD=ABCD 顯然,X(1)X(

3、0)計(jì)算X(2),在F中找出左邊為ABCD子集的FD,其結(jié)果是:CE,ACBX(2)=X(1)UB=ABCDUBE=ABCDE 顯然,X(2)=U所以,(AB)+ F=ABCDE.(等于U,所以AB是唯一候選關(guān)鍵字)例2設(shè)有關(guān)系模式R(U、F),其中U=A,B,C,D,E,I;F=AD,ABE,BE,CDI,EC,計(jì)算(AE)+解:令X=AE,X(0)=AE在F中找出左邊是AE子集的FD,其結(jié)果是:AD,ECX(1)=X(0)UB=X(0)UDC=ACDE 顯然,X(1)X(0) 在F中找出左邊是ACDE子集的FD,其結(jié)果是:CDIX(2)=X(1)UI=ACDEI顯然 ,X(2) X(1),

4、但F中未用過的函數(shù)依賴的左邊屬性已含有X(2) 的子集,所以不必再計(jì)算下去,即(AE)+=ACDEI.因?yàn)椋琗(3)X(2) ,所以,算法結(jié)束。三、 求最小依賴集 最小依賴集是對函數(shù)依賴集合進(jìn)行規(guī)范的結(jié)果,這樣才能對一般關(guān)系模式進(jìn)行準(zhǔn)確分析。2 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!例1 設(shè)函數(shù)依賴集F=ABCE,AC,GPB,EPA,CDEP,HBP,DHG,ABCPG,求與F等價的最小函數(shù)依賴集。 解:將F中依賴右部屬性單一化:F1= AB C ABE HBP AC DH GPB DG EPA ABCP CDEP ABCG 由于有AC,所以ABC為多余成份:所以F2= ABE

5、HBP AC DH GPB DG EPA ABCP CDEP ABCG經(jīng)過分析認(rèn)為F2中無多余依賴,則:Fmin=F2為最小函數(shù)依賴集。即Fmin= ABE ,HBP, AC ,DH, GPB ,DG, EPA , ABCP,CDEP,ABCG.例2 已知F=AB,BA,BC,AC,CA,求Fmin.解:F1= AB AC B A BCC A Fmin1= AB AC BA CA Fmin2= AB CA BC例3 已知F=AC,CA,BAC,DAC,求Fmin。 解:將F中依賴的右部屬性單一化: F1= AC CA BA BC DA DC 由于BA,AC,所以 BC是多余成份。 又由于DA,

6、AC,所以DC是多余成份。 所以 F2= AC CA BA DA3 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載! 因?yàn)镕2中所有依賴的左部都是單屬性,所以不存在依賴左部的有多余屬性。 所以 Fmin AC CA BA DA 即FminAC,CA, BA ,DA.例4 設(shè)有關(guān)系模式R(U,F),其中:U=E,F,G,H,F=EG,GE,FEG,HEG,FHE,求F的最小依賴集。 解:將F中依賴右部屬性單一化: F1= EG HE GE HG FE FH E FG 由于有FE,FHE為多余成份:(不是因?yàn)橛蠬E,而是,F(xiàn)后面加一個H和不加一樣) 所以 F2= EG HE GE HG FE F

7、G 由于F2中,F(xiàn)E和FG以及HE和HG之一為多余,則: Fmin1EG,GE,FG,HGFmin2EG,GE,FE,HE Fmin3,F(xiàn)min4同理。四、求候選碼1. 候選關(guān)鍵字求解理論 對于給定的關(guān)系R(A1,A2,An)和函數(shù)依賴集F,可將其屬性分為四類:l L類:僅出現(xiàn)在F的函數(shù)依賴左部的屬性l R類:僅出現(xiàn)在F的函數(shù)依賴右部的屬性l N類:在F的函數(shù)依賴左右兩邊均未出現(xiàn)的屬性l LR類:在F的函數(shù)依賴左右兩邊均出現(xiàn)的屬性定理1:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(XR)是L類屬性,則X必為R的任一候選關(guān)鍵字成員。推論1:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(XR)是L類

8、屬性,且X包含了R的全部屬性,則X必為R的唯一候選關(guān)鍵字。5 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!定理2:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(XR)是R類屬性,則X不在任何候選關(guān)鍵字中。定理3:設(shè)有關(guān)系模式R及其函數(shù)依賴集F,若X是R的N類屬性,則X必包含在R的任一候選關(guān)鍵字中。推論2:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X是R的N類和L類組成的屬性集,且X+包含了R的全部屬性,則X必為R的唯一候選關(guān)鍵字。2. 單屬性依賴集圖論求解法(多屬性不行) I:關(guān)系模式R,R的單屬性函數(shù)依賴集F。 O:R的所有候選關(guān)鍵字。 算法: 求F的最小依賴集Fmin。 構(gòu)造FDG(函數(shù)

9、依賴圖)。 從圖中找出關(guān)鍵屬性集X(X可為空)。 查看G中有無獨(dú)立回路,若無則輸出X即為R的唯一候選關(guān)鍵字,轉(zhuǎn),若有,則轉(zhuǎn)。 從各獨(dú)立回路中各取一結(jié)點(diǎn)對應(yīng)的屬性與X組合成一候選關(guān)鍵字,并重復(fù)這一過程取盡所有可解的組合,即為R的全部候選關(guān)鍵字。 結(jié)束。3多屬性依賴集候選關(guān)鍵字求解法 I:關(guān)系模式R及其函數(shù)依賴集F。 O:R的所有候選關(guān)鍵字。 算法: 將R的所有屬性分為L,R,N和LR四類,并令X代表L,N兩類,Y代表LR類。 求X+,若X包含了R的全部屬性,則X即為R的唯一候選關(guān)鍵字,轉(zhuǎn),否則,轉(zhuǎn)。 在Y中取一屬性A,求(XA)+.若它包含了R的全部屬性,則轉(zhuǎn),否則,調(diào)換一屬性反復(fù)進(jìn)行這一過程,

10、直到試完所有Y中的屬性。 若已找出所有候選關(guān)鍵字,則轉(zhuǎn),否則在Y中依次取2個,3個,求它們的屬性閉包,直到其閉包包含R的全部屬性。 停止,輸出結(jié)果。例1設(shè)R(O,B,I,S,Q,D),F=SD,DS,IB,BI,BO,OB,求R的所有候選關(guān)鍵字。 解:Fmin SD,DS,IB,BI,BO,OB. 構(gòu)造FDG.SD 5 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!BIOQ 關(guān)鍵屬性集Q. (原始點(diǎn)和孤立點(diǎn)統(tǒng)稱關(guān)鍵點(diǎn)。) 有兩個獨(dú)立回路,SDS,IBOBI.所以 R的所有候選關(guān)鍵字為:QSI,QSB, QSO,QDI,QDB,QDO.例2. 設(shè)R=X,Y,Z,F=XY,YX,求R的所有候選

11、關(guān)鍵字。 解:Fmin=XY,YX。 構(gòu)造FDGXY Z關(guān)鍵屬性Z.有1個獨(dú)立回路,1).候選關(guān)鍵字個數(shù)各獨(dú)立回路中結(jié)點(diǎn)個數(shù)乘積2(1個回路,2個結(jié)點(diǎn))。2).候選關(guān)鍵字所含屬性個數(shù)關(guān)鍵屬性個數(shù)獨(dú)立回路個數(shù)112。所以R的所有候選關(guān)鍵字為:ZX,ZY.例3 設(shè)有關(guān)系模式R(A,B,C,D),其函數(shù)依賴集FDB,BD,ADB,ACD,求R的所有候選關(guān)鍵字。解:經(jīng)考慮F發(fā)現(xiàn),A,C兩屬性是L類屬性,由定理知,AC必是R的一候選關(guān)鍵字字成員。又因(AC)+=ABCD,所以AC是R的唯一候選關(guān)鍵字。例4 設(shè)有關(guān)系模式R(A,B,C,D,E,P),F=AD,ED,DB,BCD,DCA,求R的所有候選關(guān)鍵

12、字。解:經(jīng)考察發(fā)現(xiàn),C,E兩屬性是L類屬性,故C,E必在R的任何候選關(guān)鍵字中,又P是N類屬性,故P也必在R的任何候選關(guān)鍵字中。又因(CEP)+=ABCDEP 所以CEP是R的唯一候選關(guān)鍵字。6 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!五、模式分解對存在數(shù)據(jù)冗余、插入異常、刪除異常問題的關(guān)系模式,應(yīng)采取將一個關(guān)系模式分解為多個關(guān)系模式的方法進(jìn)行處理。在分解處理中會涉及一些新問題,為使分解后的模式保持原模式所滿足的特性,要求分解處理具有無損聯(lián)接性和保持函數(shù)依賴性。即分解后的關(guān)系模式子集,應(yīng)能通過自然連接運(yùn)算恢復(fù)原狀。1、關(guān)系模式規(guī)范化時一般應(yīng)遵循以下原則:(1) 關(guān)系模式進(jìn)行無損連接分解

13、。關(guān)系模式分解過程中數(shù)據(jù)不能丟失或增加,必須把全局關(guān)系模式中的所有數(shù)據(jù)無損地分解到各個子關(guān)系模式中,以保證數(shù)據(jù)的完整性。(2) 保持原來模型的函數(shù)依賴關(guān)系。因?yàn)檫@些函數(shù)依賴關(guān)系是數(shù)據(jù)模型反映的客觀事物的固有屬性,一般是不能舍棄的。(3) 合理選擇規(guī)范化程度??紤]到存取效率,低級模式造成的冗余度很大,既浪費(fèi)了存儲空間,又影響了數(shù)據(jù)的一致性,因此希望一個子模式的屬性越少越好,即取高級范式;若考慮到查詢效率,低級范式又比高級范式好,此時連接運(yùn)算的代價較小,這是一對矛盾,所以應(yīng)根據(jù)情況,合理選擇規(guī)范化程度。2、對模式分解的兩個基本要求:模式分解可以提高關(guān)系模式的規(guī)范化程度,但是必須考慮如下問題: 避免

14、信息丟失:簡單的說,就是模式R分解為R1,R2,Rn后,將R1,R2,Rn自然連接還應(yīng)該等于模式R。這就是“無損失聯(lián)接”準(zhǔn)則。 避免數(shù)據(jù)關(guān)系丟失:簡單地說,就是模式R分解為R1,R2,Rn后,函數(shù)依賴集合F也被對應(yīng)分解為F1,F(xiàn)2,F(xiàn)n,應(yīng)滿足F與各Fi(i=1,2,n)的并集等價,即滿足F+=(UFi )+ 。這就是“保持函數(shù)依賴”準(zhǔn)則。關(guān)系模式的規(guī)范化過程是通過對關(guān)系模式的分解來實(shí)現(xiàn)的,但是把低一級的關(guān)系模式分解為若干個高一級關(guān)系模式的方法并不是唯一的。在這些分解方法中,只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價的方法才有意義。3、關(guān)系模式分解的三個定義:(1)分解具有“無損聯(lián)接性”。(

15、2)分解要“保持函數(shù)依賴”。(3)分解既要“保持函數(shù)依賴性”,又要具有“無損連接性”。7 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:若要求分解具有無損聯(lián)接性,那么模式分解一定能夠達(dá)到4NF。若要求分解保持函數(shù)依賴,那么模式分解一定能夠達(dá)到3NF,但不一定能達(dá)到BCNF。若要求分解具有無損聯(lián)接性又保持函數(shù)依賴,則模式分解一定能夠達(dá)到3NF,但不一定能達(dá)到BCNF。我們希望最好能夠既要“保持函數(shù)依賴”,又要具有“無損聯(lián)接性”,從上面結(jié)論可以看到只能達(dá)到3NF,至于能否達(dá)到BCNF或更高,要看具體情況。這就是在數(shù)據(jù)庫設(shè)計(jì)中一般采用

16、“基于3NF的數(shù)據(jù)設(shè)計(jì)方法”的根本原因。4、模式設(shè)計(jì)方法的原則:關(guān)系模式R相對于函數(shù)依賴集F分解成=R1,R2,Rk,應(yīng)具有以下特性:(1) 中每個關(guān)系模式Ri上應(yīng)有某種范式性質(zhì)(3NF或BCNF)(2) 無損聯(lián)接(3) 保持函數(shù)依賴集(4) 最小性(中模式個數(shù)應(yīng)最少和模式中屬性總數(shù)應(yīng)最少)一個好的設(shè)計(jì)方法應(yīng)符合下列3個原則:表達(dá)性,分離性,最小冗余性。5、模式分解的算法:算法一:把關(guān)系模式無損分解成BCNF輸入:關(guān)系模式R和函數(shù)依賴集F輸出:R的一個無損分解=R1,R2,Rk方法:設(shè)關(guān)系模式R(U,F(xiàn))(1)置初值:=R。(2)對于關(guān)系模式R的分解(初始時=R),如果中有一個關(guān)系模式Ri相對

17、于Ri(F)不是BCNF。由定義可知,Ri中存在一個非平凡FD XY,有X不包含碼。此時把Ri分解成XY和Ri-Y兩個模式。重復(fù)上述過程,一直到中每一個模式都是BCNF。(3) 算法結(jié)束,就是分解結(jié)果。例1:R(U,F(xiàn)),U=ABCDE F=ABC,BD,DE,碼是AB。 分解過程如下:(1)先分出DE,=R1(ABCD),R2(DE)(2)再從R1中分出BD,=R1(ABC),R2(DE),R3(BD)(3)R1,R2,R3都屬于BCNF,分解完成。例2:設(shè)有關(guān)系模式R(U,F(xiàn)),其中: U=C,T,H,R,S,G F=CSG,CT,THR,HRC,HSR 將其無損聯(lián)接地分解為BCNF。 解

18、:R上只有一個侯選鍵HS。(1)令=CTHRSG。(2)中的模式不是BCNF。(3)考慮CSG,這個函數(shù)依賴不滿足BCNF條件(CS不包含侯選鍵HS),將CTHRSG分解為CSG和CTHRS。計(jì)算CSG(F)和CTHRS(F),前者的最小覆蓋是:CS9 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!G;后者的最小覆蓋是:CT,HRC,THR,HSR。模式CTHRS的侯選關(guān)鍵字是HS。CSG已是BCNF,進(jìn)一步分解CTHRS。選擇CT,把CTHRS分解成CT和CHRS,計(jì)算CT(F)和CHRS(F),前者的最小覆蓋是:CT;后者的最小覆蓋是:HCR,HSR,HRC。模式CHRS的侯選關(guān)鍵字是

19、HS。CT已是BCNF,再分解CHRS。選擇HCR,把CHRS分解成CHR和CHS,計(jì)算CHR(F)和CHS(F),前者的最小覆蓋是:CHR,HRC;后者的最小覆蓋是:HSC。這時CHR和CHS均為BCNF。 (4)=CSG,CT,CHR,CHS。(HSR,HSHR HRC =HSC)算法二:把一個關(guān)系模式分解為3NF,使它具有依賴保持性。輸入:關(guān)系模式R和R的最小依賴集Fmin。輸出:R的一個分解=R1,R2,Rk,Ri為3NF(i=1,k),具有依賴保持性。達(dá)到3NF保持函數(shù)依賴分解的方法:設(shè)關(guān)系模式R(U,F(xiàn)):(1)將F化為最小函數(shù)依賴集,令F=Fmin。(2)把在F中不出現(xiàn)的屬性從U

20、中去掉,屬性集合仍然為U。(3)對照F中的函數(shù)依賴集,將所有函數(shù)依賴左端相同的劃為一組,相應(yīng)的右端以及函數(shù)依賴均歸入該組。(4)這些分組就是分解后的模式組成。(5)這種分解方法得到的就是達(dá)到3NF且保持函數(shù)依賴的分解。例1:F=BG,CEB,CA,CEG,BD,CD,碼是CE,分解成三個模式。R1:U1=BDG,F1=BG,BDR2:U2=ACD,F2=CA,CDR3:U3=BCEG,F3=CEB,CEG分解后,R1,R2,R3均達(dá)到3NF,且分解符合保持函數(shù)依賴的規(guī)則。例2: 設(shè)有關(guān)系模式R(U,F(xiàn)),其中:U=C,T,H,R,S,G F=CSG,CT,THR,HRC,HSR,將其保持依賴性

21、分解為3NF。解:(1)求出F的最小依賴集,F(xiàn)min=CSG,CT,THR,HRC,HSR。 (2)無。 (3)R1:U1=CSG,F(xiàn)1=CSG U2=CT, F2=CT U3=THR,F(xiàn)3=THR U4=HRC,F(xiàn)4=HRC U5=HSR,F(xiàn)5=HSR(4) =CSG,CT,THR,HRC,HSR9 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!算法三:把一個關(guān)系模式分解為3NF,使它既具有無損聯(lián)接性又具有依賴保持性。設(shè)關(guān)系模式R(U,F(xiàn)):對于關(guān)系模式R和R上成立的FD集F,先求出F的最小依賴集,然后再把最小依賴集中那些左部相同的FD用合并性合并起來。對最小依賴集中,每個FD XY去構(gòu)

22、成一個模式XY。在構(gòu)成的模式集中,如果每個模式都不包含R的候選鍵,那么把候選鍵作為一個模式放入模式集中。這樣得到的模式集是關(guān)系模式R的一個分解,并且這個分界既是無損分解,又能保持FD。檢驗(yàn)無損聯(lián)接性的方法:輸入:關(guān)系模式R(A1,A2,An),它的函數(shù)依賴集F以及分解=R1,R2,Rk。輸出:確定是否具有無損聯(lián)接性。設(shè)關(guān)系模式R(U,F(xiàn)):(1) 構(gòu)造一個k行n列的表,若i行對應(yīng)于關(guān)系模式Ri,第j列對應(yīng)于屬性Aj。如果AjRi,則在第i行第j列上放符號aj,否則放符號bij。(2) 逐個檢查F中的每一個函數(shù)依賴,并修改表中的元素。其方法如下:取F中一個函數(shù)依賴XY,在X的分量中尋找相同的行,

23、然后將這些行中Y的分量改為相同的符號,如果其中有aj,則將bij改為aj;若其中無aj,則改為bij。這樣反復(fù)進(jìn)行,如果發(fā)現(xiàn)某一行變成了a1,a2,ak,則分解具有無損聯(lián)接性;如果F中所有函數(shù)依賴都不能再修改表中的內(nèi)容,且沒有發(fā)現(xiàn)這樣的行,則分解不具有無損聯(lián)接性。例1:對于上例的關(guān)系模式R(U,F(xiàn)),將其無損聯(lián)接性和依賴保持性分解為3NF。解:依據(jù)算法: (1) 由上例求出依賴保持性分解為:=CSG,CT,THR,HRC,HSR(2) 判斷其無損聯(lián)接性如下圖所示: RiCTHRSGCSGa1b12b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b3610

24、/ 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!HRCa1b42a3a4b45b46HSRb51b52a3a4a5b56( 在已知 F=CSG,CT,THR,HRC,HSR看CS上相同的,再改G的成分沒有看C上相同的,再改T的成分2個a2看TH上相同的,再改R的成分沒有看HR上相同的,再改C的成分2個a1看HS上相同的,再改R的成分沒有再看CS上相同的,再改G的成分有一個a6看C上相同的,再改T的成分有一個a2 ,其它未發(fā)生變化,略)RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRa1a2a3a4b35b36HRCa1a2a3a4b45b46HSR

25、a1a2a3a4a5a6RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b36HRCa1a2a3a4b45b46HSRa1a2a3a4a5a6(3) 不執(zhí)行。(4) 由于表中有一行從a1,a2,a6全滿,由此可知,具有無損聯(lián)接性,輸出=CSG,CT,THR,HRC,HSR。例2 :已知,U=A,B,C,D,F= AB,A-C,BCD,D-A 判斷一個分解=AB,AC,BCD,DA是否具有無損聯(lián)接性。RiABCDABa1a2b13b14ACa1b22a3a4BCDb41a2a3a4DAa1b42b43a4由于,AB , b22a

26、2, b42a2A-C , b13a3 , b23a3 , b43a3BCD , b14a4D-A , b41a111 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!RiABCDABa1a2a3a4ACa1a2a3a4BCDa1a2a3a4DAa1a2a3a4所以,=AB,AD,BCD,DA具有無損聯(lián)接性。例3 :設(shè)有關(guān)系模式R(U,F(xiàn)),其中: U=A,C,B,F(xiàn)=AB,C-B判斷一個分解=AC,BC是否具有無損聯(lián)接性。解:的無損聯(lián)接性判斷結(jié)果表如下所示:由此判斷具有無損聯(lián)接性。RiABCACa1b12a3BCb21a2a3由于,AB 沒有變化,C-BRiABCACa1a2a3BCb21

27、a2a3所以,=AC,BC具有無損聯(lián)接性。例 4:設(shè)有關(guān)系模式R(A,,B,C,D),其上的函數(shù)依賴集:FAC, CA, BAC, DAC (1)計(jì)算(AD)。(2)求F的最小等價依賴集Fm。(3)求R的關(guān)鍵字。 (4 ) 將R分解使其滿足BCNF且無損連接性。(5)將R分解成滿足3NF并具有無損連接性與保持依賴性。解:(1) 令X=AD,,X(0)=AD,X(1)=ACD ,X(2)=ACD,故(AD) =ACD。(2) 將F中的依賴右部屬性單一化: AC CAF1= BA DA 在F1中去掉多余的函數(shù)依賴:BA, AC BC是多余的。12 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!

28、又DA, AC DC是多余的。AC CAF2= BA DA函數(shù)依賴集的最小集不是惟一的,本題中還可以有其他答案。F2中所有依賴的左部卻是單屬性,不存在依賴左部有多余的屬性。 AC CAF = BA DA(3) BD在F中所有函數(shù)依賴的右部均未出現(xiàn),候選關(guān)鍵字中一定包含BD,而(BD)ABCD,因此, BD是R惟一的候選關(guān)鍵字。(4)考慮AC,AC不是BCNF(AC不包含候選關(guān)鍵字BD),將ABCD分解為AC和ABD。AC已是BCNF, 進(jìn)一步分解ABD,選擇BA,把ABD分解為AB和BD。此時AB和BD均為BCNF,=AC, AB, BD。(5)由(2)可求出滿足3NF的具有依賴保持性的為=A

29、C, BA, DA。判斷其無損連接性如圖4.10所示的表,由此可知不具有無損連接性。令BD,BD是R的候選關(guān)鍵字,AC, BA, DA, BD。RiABCDACa1a3BAa1a2a3DAa1a3a4圖4.10 無損連接判斷表13 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!六、舉例1設(shè)有關(guān)系模式R(U,F(xiàn)),其中:UA,B,C,D,E,P,F(xiàn)A B,CP,EA,CED求出R的所有候選關(guān)鍵字。解:根據(jù)候選關(guān)鍵字的定義:如果函數(shù)依賴XU在R上成立,且不存在任何X?X,使得XU也成立,則稱X是R的一個候選關(guān)鍵字。由此可知,候選關(guān)鍵字只可能由A,C,E,組成,但有EA,所以組成候選關(guān)鍵字的屬性

30、可能是CE。計(jì)算可知:(CE)ABCDEP,即CEU而: CCP,EABER只有一個候選關(guān)鍵字CE。2設(shè)有關(guān)系模式R(C,T,S,N,G),其上的函數(shù)依賴集:FCT,CSG,SN求出R的所有候選關(guān)鍵字。解:根據(jù)候選關(guān)鍵字的定義:R的候選關(guān)鍵字只可能由F中各個函數(shù)依賴的左邊屬性組成,即C,S,所以組成候選關(guān)鍵字的屬性可能是CS。計(jì)算可知:(CS)CGNST,即CSU而: CCT,SNSR只有一個候選關(guān)鍵字CS。3設(shè)有關(guān)系模式R(A,B,C,D,E),其上的函數(shù)依賴集:FABC,CDE,BD,EA(1)計(jì)算B。(2)求出R的所有候選關(guān)鍵字。解:(1)令XB,X(0)B,X(1)BD,X(2)BD,

31、故BBD。(2)根據(jù)候選關(guān)鍵字的定義:R的候選關(guān)鍵字只可能由F中各個函數(shù)依賴的左邊屬性組成,即A,B,C,D,E,由于ABC(AB,AC),BD,EA,故:可除去A,B,C,D,組成候選關(guān)鍵字的屬性可能是E。14 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!計(jì)算可知:EABCDE,即EU,E是一個候選關(guān)鍵字??沙,B,E,組成候選關(guān)鍵字的屬性可能是CD。計(jì)算可知:(CD)ABCDE,即CDU,但CC,DD,CD是一個候選關(guān)鍵字??沙,C,D,E組成候選關(guān)鍵字的屬性可能是A。計(jì)算可知:AABCDE,即AU,A是一個候選關(guān)鍵字。可除去A,D,E,組成候選關(guān)鍵字的屬性可能是BC。計(jì)算可

32、知:(BC)ABCDE,即CDU,但BBD,CC,BC是一個候選關(guān)鍵字。R的所有候選關(guān)鍵字是A,BC,CD,E。圖4.8 無損連接判斷表4設(shè)有關(guān)系模式R(U,F(xiàn)),其中:UA,B,C,D,E,F(xiàn)AD,ED,DB,BCD,DCA (1)求出R的候選關(guān)鍵字。(2)判斷AB,AE,CE,BCD,AC是否為無損連接分解?RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3解:(1)(CE)ABCDE,即CEU,而CC,EDEBDE,根據(jù)候選關(guān)鍵字定義,CE是R的候選關(guān)鍵字。(2)的無損連接性判斷表如圖4.8所示,由此判斷不具有無損連接性。 5設(shè)有關(guān)系框架R(A, B, C,

33、 D, E)及其上的函數(shù)相關(guān)性集合 F=AC, BD, CD, DE C, CEA ,試問分解P=R1(A, D), R2(A, B), R3(B, E) , R4(C, D, E), R5(A, E),是否為R的無損連接分解?解:的無損連接性判斷表如圖4.9所示,由此判斷不具有無損連接性。RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a315 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!RiABCDEADa1a4ABa1a2BEa2a5CDEa3a4a5AEa1a5 RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3 RiAB

34、CDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3 圖4.9 無損連接性判斷表6設(shè)有函數(shù)依賴集F=ABCE, AC, GPB, EPA, CDEP, HBP, DHG, ABCPG,計(jì)算屬性集D關(guān)于F的閉包D 。解:令 XD, X(0)=D。在F中找出左邊是D的子集的函數(shù)依賴,其結(jié)果是: DGH, X(1)=X(0)HG=DGH,顯然有 X(1)X(0)。在中找到左邊是DGH子集的函數(shù)依賴,未找到,則X(2)=DG

35、H. 由于X(2)=X(1),則:D DGH7已知關(guān)系模式R的全部屬性集UA, B, C, D, E, G及函數(shù)依賴集:F=ABC, CA, BCD, ACDB, DEG, BEC, CGBD, CEAG求屬性集閉包(BD) 解:令X=BD, X(0)=BD, X(1)=BDEG, X(2)=BCDEG, X(3)=ABCDEG, 故(BD) =ABCDEG8設(shè)有函數(shù)依賴集FABCE,AC,GPB,EPA,CDEP,HBP,DHG,ABCPG,求與F等價的最小函數(shù)依賴集。解:(1)將F中依賴右部屬性單一化:ABE HBP AC DHF1 GPB DG EPA ABCPCDEP ABCG (2)

36、對于ABC,由于有AC,則為多余的: ABE HBP AC DHF2 GPB DGEPA ABCPCDEP ABCG16 / 22如果您需要使用本文檔,請點(diǎn)擊下載按鈕下載!(3)通過分析沒有多余的依賴,則:ABE HBP AC DHF3 GPB DGEPA ABCPCDEP ABCG9設(shè)有關(guān)系模式R(U,F(xiàn)),其中:UE,F(xiàn),G,H,F(xiàn)EG,GE,F(xiàn)EG,HEG,F(xiàn)HE求F的最小依賴集。解:(1)將F中依賴右部屬性單一化: F1EG, GE, FE, FG, HE, HG (2)對于FHE, 由于有FE,則為多余的,則: F2EG, GE, FE, FG, HE, HG (3)在F2中的FE和FG以及HE和 HG之一是多余的,則: F3EG, GE, FG, HG 或F3EG, GE, FG, HE或F3EG, GE, FE, HE 或F3EG, GE, FE, HG 10. 有關(guān)系模式R(U, F),其中:UA,,B,C, D,F(xiàn)AB, BC, DB ,把R分解成BCNF模式集:(1)如果首先把R分解成ACD,,BD,試求F在這兩個模式上的投影。(2)ACD和BD是BCNF嗎?如果不是,請進(jìn)一步分解。解:(1)

溫馨提示

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

評論

0/150

提交評論