




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 補(bǔ)充講義一、 范式舉例例1:已知R,請(qǐng)問(wèn)R為幾范式? 零件號(hào)單價(jià)P125P28P325P49BCNF。(25改成15還是BCNF.如:課程號(hào)與學(xué)號(hào))例2:已知R,請(qǐng)問(wèn)R為幾范式? 材料號(hào)材料名生產(chǎn)廠M1線材武漢M2型材武漢M3板材廣東M4型材武漢2NF。有部分依賴(lài)。例3:已知R,請(qǐng)問(wèn)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中所有屬性都是主屬性,無(wú)傳遞依賴(lài))二、 求閉包數(shù)據(jù)
2、庫(kù)設(shè)計(jì)人員在對(duì)實(shí)際應(yīng)用問(wèn)題調(diào)查中,得到的結(jié)論往往是零散的、不規(guī)范的(直觀問(wèn)題好辦,復(fù)雜問(wèn)題難辦了),所以,這對(duì)分析數(shù)據(jù)模型,達(dá)到規(guī)范化設(shè)計(jì)要求,還有差距,為此,從規(guī)范數(shù)據(jù)依賴(lài)集合的角度入手,找到正確分析數(shù)據(jù)模型的方法,以確定關(guān)系模式的規(guī)范化程度。例1 已知關(guān)系模式R(U、F),其中,U=A,B,C,D,E; F=ABà C, Bà D, EC à B , ACàB ,求(AB)+F.解:設(shè)X(0)=AB計(jì)算X(1),在F中找出左邊為AB子集的FD,其結(jié)果是:ABàC,BàDX(1)=X(0)UB=ABUCD=ABCD 顯然,X(1)X
3、(0)計(jì)算X(2),在F中找出左邊為ABCD子集的FD,其結(jié)果是:CàE,ACàBX(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=AàD,ABàE,BàE,CDàI,EàC,計(jì)算(AE)+解:令X=AE,X(0)=AE在F中找出左邊是AE子集的FD,其結(jié)果是:AàD,EàCX(1)=X(0)UB=X(0)UDC=ACDE 顯然,X(1)X(0) 在F
4、中找出左邊是ACDE子集的FD,其結(jié)果是:CDàIX(2)=X(1)UI=ACDEI顯然 ,X(2) X(1),但F中未用過(guò)的函數(shù)依賴(lài)的左邊屬性已含有X(2) 的子集,所以不必再計(jì)算下去,即(AE)+=ACDEI.因?yàn)?,X(3)X(2) ,所以,算法結(jié)束。三、 求最小依賴(lài)集 最小依賴(lài)集是對(duì)函數(shù)依賴(lài)集合進(jìn)行規(guī)范的結(jié)果,這樣才能對(duì)一般關(guān)系模式進(jìn)行準(zhǔn)確分析。例1 設(shè)函數(shù)依賴(lài)集F=ABàCE,AàC,GPàB,EPàA,CDEàP,HBàP,DàHG,ABCàPG,求與F等價(jià)的最小函數(shù)依賴(lài)集。 解:將F中依賴(lài)右部
5、屬性單一化:F1= AB C ABàE HBàP AàC DàH GPàB DàG EPàA ABCàP CDEàP ABCàG 由于有AàC,所以ABàC為多余成份:所以F2= ABàE HBàP AàC DàH GPàB DàG EPàA ABCàP CDEàP ABCàG經(jīng)過(guò)分析認(rèn)為F2中無(wú)多余依賴(lài),則:Fmin=F2為最小函數(shù)依賴(lài)集。即Fmin= ABàE ,
6、HBàP, AàC ,DàH, GPàB ,DàG, EPàA , ABCàP,CDEàP,ABCàG.例2 已知F=AàB,BàA,BàC,AàC,CàA,求Fmin.解:F1= AàB AàC B A BàCC A Fmin1= AàB AàC BàA CàA Fmin2= AàB CàA BàC例3 已知F=AàC,CàA,B
7、24;AC,DàAC,求Fmin。 解:將F中依賴(lài)的右部屬性單一化: F1= AàC CàA BàA BàC DàA DàC 由于BàA,AàC,所以 BàC是多余成份。 又由于DàA,AàC,所以DàC是多余成份。 所以 F2= AàC CàA BàA DàA 因?yàn)镕2中所有依賴(lài)的左部都是單屬性,所以不存在依賴(lài)左部的有多余屬性。 所以 Fmin AàC CàA BàA DàA 即Fmi
8、nAàC,CàA, BàA ,DàA.例4 設(shè)有關(guān)系模式R(U,F),其中:U=E,F,G,H,F=EàG,GàE,FàEG,HàEG,FHàE,求F的最小依賴(lài)集。 解:將F中依賴(lài)右部屬性單一化: F1= EàG HàE GàE HàG FàE FH E FàG 由于有FàE,FHàE為多余成份:(不是因?yàn)橛蠬àE,而是,F(xiàn)后面加一個(gè)H和不加一樣) 所以 F2= EàG HàE GàE
9、HàG FàE FàG 由于F2中,F(xiàn)àE和FàG以及HàE和HàG之一為多余,則: Fmin1EàG,GàE,FàG,HàGFmin2EàG,GàE,FàE,HàE Fmin3,F(xiàn)min4同理。四、求候選碼1. 候選關(guān)鍵字求解理論 對(duì)于給定的關(guān)系R(A1,A2,An)和函數(shù)依賴(lài)集F,可將其屬性分為四類(lèi):l L類(lèi):僅出現(xiàn)在F的函數(shù)依賴(lài)左部的屬性l R類(lèi):僅出現(xiàn)在F的函數(shù)依賴(lài)右部的屬性l N類(lèi):在F的函數(shù)依賴(lài)左右兩邊均未出現(xiàn)的屬性l LR類(lèi):在F的
10、函數(shù)依賴(lài)左右兩邊均出現(xiàn)的屬性定理1:對(duì)于給定的關(guān)系模式R及其函數(shù)依賴(lài)集F,若X(XR)是L類(lèi)屬性,則X必為R的任一候選關(guān)鍵字成員。推論1:對(duì)于給定的關(guān)系模式R及其函數(shù)依賴(lài)集F,若X(XR)是L類(lèi)屬性,且X包含了R的全部屬性,則X必為R的唯一候選關(guān)鍵字。定理2:對(duì)于給定的關(guān)系模式R及其函數(shù)依賴(lài)集F,若X(XR)是R類(lèi)屬性,則X不在任何候選關(guān)鍵字中。定理3:設(shè)有關(guān)系模式R及其函數(shù)依賴(lài)集F,若X是R的N類(lèi)屬性,則X必包含在R的任一候選關(guān)鍵字中。推論2:對(duì)于給定的關(guān)系模式R及其函數(shù)依賴(lài)集F,若X是R的N類(lèi)和L類(lèi)組成的屬性集,且X+包含了R的全部屬性,則X必為R的唯一候選關(guān)鍵字。2. 單屬性依賴(lài)集圖論求
11、解法(多屬性不行) I:關(guān)系模式R,R的單屬性函數(shù)依賴(lài)集F。 O:R的所有候選關(guān)鍵字。 算法: 求F的最小依賴(lài)集Fmin。 構(gòu)造FDG(函數(shù)依賴(lài)圖)。 從圖中找出關(guān)鍵屬性集X(X可為空)。 查看G中有無(wú)獨(dú)立回路,若無(wú)則輸出X即為R的唯一候選關(guān)鍵字,轉(zhuǎn),若有,則轉(zhuǎn)。 從各獨(dú)立回路中各取一結(jié)點(diǎn)對(duì)應(yīng)的屬性與X組合成一候選關(guān)鍵字,并重復(fù)這一過(guò)程取盡所有可解的組合,即為R的全部候選關(guān)鍵字。 結(jié)束。3多屬性依賴(lài)集候選關(guān)鍵字求解法 I:關(guān)系模式R及其函數(shù)依賴(lài)集F。 O:R的所有候選關(guān)鍵字。 算法: 將R的所有屬性分為L(zhǎng),R,N和LR四類(lèi),并令X代表L,N兩類(lèi),Y代表LR類(lèi)。 求X+,若X包含了R的全部屬性,
12、則X即為R的唯一候選關(guān)鍵字,轉(zhuǎn),否則,轉(zhuǎn)。 在Y中取一屬性A,求(XA)+.若它包含了R的全部屬性,則轉(zhuǎn),否則,調(diào)換一屬性反復(fù)進(jìn)行這一過(guò)程,直到試完所有Y中的屬性。 若已找出所有候選關(guān)鍵字,則轉(zhuǎn),否則在Y中依次取2個(gè),3個(gè),求它們的屬性閉包,直到其閉包包含R的全部屬性。 停止,輸出結(jié)果。例1設(shè)R(O,B,I,S,Q,D),F=SàD,DàS,IàB,BàI,BàO,OàB,求R的所有候選關(guān)鍵字。 解:Fmin SàD,DàS,IàB,BàI,BàO,OàB. 構(gòu)造FDG.SD
13、 BIOQ 關(guān)鍵屬性集Q. (原始點(diǎn)和孤立點(diǎn)統(tǒng)稱(chēng)關(guān)鍵點(diǎn)。) 有兩個(gè)獨(dú)立回路,SDS,IBOBI.所以 R的所有候選關(guān)鍵字為:QSI,QSB, QSO,QDI,QDB,QDO.例2. 設(shè)R=X,Y,Z,F=XàY,YàX,求R的所有候選關(guān)鍵字。 解:Fmin=XàY,YàX。 構(gòu)造FDGXY Z關(guān)鍵屬性Z.有1個(gè)獨(dú)立回路,1).候選關(guān)鍵字個(gè)數(shù)各獨(dú)立回路中結(jié)點(diǎn)個(gè)數(shù)乘積2(1個(gè)回路,2個(gè)結(jié)點(diǎn))。2).候選關(guān)鍵字所含屬性個(gè)數(shù)關(guān)鍵屬性個(gè)數(shù)獨(dú)立回路個(gè)數(shù)112。所以R的所有候選關(guān)鍵字為:ZX,ZY.例3 設(shè)有關(guān)系模式R(A,B,C,D),其函數(shù)依賴(lài)集FDàB
14、,BàD,ADàB,ACàD,求R的所有候選關(guān)鍵字。解:經(jīng)考慮F發(fā)現(xiàn),A,C兩屬性是L類(lèi)屬性,由定理知,AC必是R的一候選關(guān)鍵字字成員。又因(AC)+=ABCD,所以AC是R的唯一候選關(guān)鍵字。例4 設(shè)有關(guān)系模式R(A,B,C,D,E,P),F=AàD,EàD,DàB,BCàD,DCàA,求R的所有候選關(guān)鍵字。解:經(jīng)考察發(fā)現(xiàn),C,E兩屬性是L類(lèi)屬性,故C,E必在R的任何候選關(guān)鍵字中,又P是N類(lèi)屬性,故P也必在R的任何候選關(guān)鍵字中。又因(CEP)+=ABCDEP 所以CEP是R的唯一候選關(guān)鍵字。五、模式分解對(duì)存在數(shù)據(jù)冗
15、余、插入異常、刪除異常問(wèn)題的關(guān)系模式,應(yīng)采取將一個(gè)關(guān)系模式分解為多個(gè)關(guān)系模式的方法進(jìn)行處理。在分解處理中會(huì)涉及一些新問(wèn)題,為使分解后的模式保持原模式所滿足的特性,要求分解處理具有無(wú)損聯(lián)接性和保持函數(shù)依賴(lài)性。即分解后的關(guān)系模式子集,應(yīng)能通過(guò)自然連接運(yùn)算恢復(fù)原狀。1、關(guān)系模式規(guī)范化時(shí)一般應(yīng)遵循以下原則:(1) 關(guān)系模式進(jìn)行無(wú)損連接分解。關(guān)系模式分解過(guò)程中數(shù)據(jù)不能丟失或增加,必須把全局關(guān)系模式中的所有數(shù)據(jù)無(wú)損地分解到各個(gè)子關(guān)系模式中,以保證數(shù)據(jù)的完整性。(2) 保持原來(lái)模型的函數(shù)依賴(lài)關(guān)系。因?yàn)檫@些函數(shù)依賴(lài)關(guān)系是數(shù)據(jù)模型反映的客觀事物的固有屬性,一般是不能舍棄的。(3) 合理選擇規(guī)范化程度??紤]到存取
16、效率,低級(jí)模式造成的冗余度很大,既浪費(fèi)了存儲(chǔ)空間,又影響了數(shù)據(jù)的一致性,因此希望一個(gè)子模式的屬性越少越好,即取高級(jí)范式;若考慮到查詢(xún)效率,低級(jí)范式又比高級(jí)范式好,此時(shí)連接運(yùn)算的代價(jià)較小,這是一對(duì)矛盾,所以應(yīng)根據(jù)情況,合理選擇規(guī)范化程度。2、對(duì)模式分解的兩個(gè)基本要求:模式分解可以提高關(guān)系模式的規(guī)范化程度,但是必須考慮如下問(wèn)題: 避免信息丟失:簡(jiǎn)單的說(shuō),就是模式R分解為R1,R2,Rn后,將R1,R2,Rn自然連接還應(yīng)該等于模式R。這就是“無(wú)損失聯(lián)接”準(zhǔn)則。 避免數(shù)據(jù)關(guān)系丟失:簡(jiǎn)單地說(shuō),就是模式R分解為R1,R2,Rn后,函數(shù)依賴(lài)集合F也被對(duì)應(yīng)分解為F1,F(xiàn)2,F(xiàn)n,應(yīng)滿足F與各Fi(i=1,2,
17、n)的并集等價(jià),即滿足F+=(UFi )+ 。這就是“保持函數(shù)依賴(lài)”準(zhǔn)則。關(guān)系模式的規(guī)范化過(guò)程是通過(guò)對(duì)關(guān)系模式的分解來(lái)實(shí)現(xiàn)的,但是把低一級(jí)的關(guān)系模式分解為若干個(gè)高一級(jí)關(guān)系模式的方法并不是唯一的。在這些分解方法中,只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價(jià)的方法才有意義。3、關(guān)系模式分解的三個(gè)定義:(1)分解具有“無(wú)損聯(lián)接性”。(2)分解要“保持函數(shù)依賴(lài)”。(3)分解既要“保持函數(shù)依賴(lài)性”,又要具有“無(wú)損連接性”。規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:若要求分解具有無(wú)損聯(lián)接性,那么模式分解一定能夠達(dá)到4NF。若要求分解保持函數(shù)依賴(lài),那么模式分解一定能夠達(dá)到3NF,但不一
18、定能達(dá)到BCNF。若要求分解具有無(wú)損聯(lián)接性又保持函數(shù)依賴(lài),則模式分解一定能夠達(dá)到3NF,但不一定能達(dá)到BCNF。我們希望最好能夠既要“保持函數(shù)依賴(lài)”,又要具有“無(wú)損聯(lián)接性”,從上面結(jié)論可以看到只能達(dá)到3NF,至于能否達(dá)到BCNF或更高,要看具體情況。這就是在數(shù)據(jù)庫(kù)設(shè)計(jì)中一般采用“基于3NF的數(shù)據(jù)設(shè)計(jì)方法”的根本原因。4、模式設(shè)計(jì)方法的原則:關(guān)系模式R相對(duì)于函數(shù)依賴(lài)集F分解成=R1,R2,Rk,應(yīng)具有以下特性:(1) 中每個(gè)關(guān)系模式Ri上應(yīng)有某種范式性質(zhì)(3NF或BCNF)(2) 無(wú)損聯(lián)接(3) 保持函數(shù)依賴(lài)集(4) 最小性(中模式個(gè)數(shù)應(yīng)最少和模式中屬性總數(shù)應(yīng)最少)一個(gè)好的設(shè)計(jì)方法應(yīng)符合下列3個(gè)
19、原則:表達(dá)性,分離性,最小冗余性。5、模式分解的算法:算法一:把關(guān)系模式無(wú)損分解成BCNF輸入:關(guān)系模式R和函數(shù)依賴(lài)集F輸出:R的一個(gè)無(wú)損分解=R1,R2,Rk方法:設(shè)關(guān)系模式R(U,F(xiàn))(1)置初值:=R。(2)對(duì)于關(guān)系模式R的分解(初始時(shí)=R),如果中有一個(gè)關(guān)系模式Ri相對(duì)于Ri(F)不是BCNF。由定義可知,Ri中存在一個(gè)非平凡FD XàY,有X不包含碼。此時(shí)把Ri分解成XY和Ri-Y兩個(gè)模式。重復(fù)上述過(guò)程,一直到中每一個(gè)模式都是BCNF。(3) 算法結(jié)束,就是分解結(jié)果。例1:R(U,F(xiàn)),U=ABCDE F=ABàC,BàD,DàE,碼是AB。
20、分解過(guò)程如下:(1)先分出DE,=R1(ABCD),R2(DE)(2)再?gòu)腞1中分出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=CSàG,CàT,THàR,HRàC,HSàR 將其無(wú)損聯(lián)接地分解為BCNF。 解:R上只有一個(gè)侯選鍵HS。(1)令=CTHRSG。(2)中的模式不是BCNF。(3)考慮CSàG,這個(gè)函數(shù)依賴(lài)不滿足BCNF條件(CS不包含侯選鍵HS),將CTHRSG分解為CSG和CTHRS。計(jì)算CSG
21、(F)和CTHRS(F),前者的最小覆蓋是:CSàG;后者的最小覆蓋是:CàT,HRàC,THàR,HSàR。模式CTHRS的侯選關(guān)鍵字是HS。CSG已是BCNF,進(jìn)一步分解CTHRS。選擇CàT,把CTHRS分解成CT和CHRS,計(jì)算CT(F)和CHRS(F),前者的最小覆蓋是:CàT;后者的最小覆蓋是:HCàR,HSàR,HRàC。模式CHRS的侯選關(guān)鍵字是HS。CT已是BCNF,再分解CHRS。選擇HCàR,把CHRS分解成CHR和CHS,計(jì)算CHR(F)和CHS(F),前者的最
22、小覆蓋是:CHàR,HRàC;后者的最小覆蓋是:HSàC。這時(shí)CHR和CHS均為BCNF。 (4)=CSG,CT,CHR,CHS。(HSàR,HSàHR HRàC =>HSàC)算法二:把一個(gè)關(guān)系模式分解為3NF,使它具有依賴(lài)保持性。輸入:關(guān)系模式R和R的最小依賴(lài)集Fmin。輸出:R的一個(gè)分解=R1,R2,Rk,Ri為3NF(i=1,k),具有依賴(lài)保持性。達(dá)到3NF保持函數(shù)依賴(lài)分解的方法:設(shè)關(guān)系模式R(U,F(xiàn)):(1)將F化為最小函數(shù)依賴(lài)集,令F=Fmin。(2)把在F中不出現(xiàn)的屬性從U中去掉,屬性集合仍然為U。(3)
23、對(duì)照F中的函數(shù)依賴(lài)集,將所有函數(shù)依賴(lài)左端相同的劃為一組,相應(yīng)的右端以及函數(shù)依賴(lài)均歸入該組。(4)這些分組就是分解后的模式組成。(5)這種分解方法得到的就是達(dá)到3NF且保持函數(shù)依賴(lài)的分解。例1:F=B>G,CEàB,CàA,CEàG,BàD,CàD,碼是CE,分解成三個(gè)模式。R1:U1=BDG,F1=BàG,BàDR2:U2=ACD,F2=CàA,CàDR3:U3=BCEG,F3=CEàB,CEàG分解后,R1,R2,R3均達(dá)到3NF,且分解符合保持函數(shù)依賴(lài)的規(guī)則。例2: 設(shè)有關(guān)系
24、模式R(U,F(xiàn)),其中:U=C,T,H,R,S,G F=CSàG,CàT,THàR,HRàC,HSàR,將其保持依賴(lài)性分解為3NF。解:(1)求出F的最小依賴(lài)集,F(xiàn)min=CSàG,CàT,THàR,HRàC,HSàR。 (2)無(wú)。 (3)R1:U1=CSG,F(xiàn)1=CSàG U2=CT, F2=CàT U3=THR,F(xiàn)3=THàR U4=HRC,F(xiàn)4=HRàC U5=HSR,F(xiàn)5=HSàR(4) =CSG,CT,THR,HRC,HSR算法三:把一
25、個(gè)關(guān)系模式分解為3NF,使它既具有無(wú)損聯(lián)接性又具有依賴(lài)保持性。設(shè)關(guān)系模式R(U,F(xiàn)):對(duì)于關(guān)系模式R和R上成立的FD集F,先求出F的最小依賴(lài)集,然后再把最小依賴(lài)集中那些左部相同的FD用合并性合并起來(lái)。對(duì)最小依賴(lài)集中,每個(gè)FD XàY去構(gòu)成一個(gè)模式XY。在構(gòu)成的模式集中,如果每個(gè)模式都不包含R的候選鍵,那么把候選鍵作為一個(gè)模式放入模式集中。這樣得到的模式集是關(guān)系模式R的一個(gè)分解,并且這個(gè)分界既是無(wú)損分解,又能保持FD。檢驗(yàn)無(wú)損聯(lián)接性的方法:輸入:關(guān)系模式R(A1,A2,An),它的函數(shù)依賴(lài)集F以及分解=R1,R2,Rk。輸出:確定是否具有無(wú)損聯(lián)接性。設(shè)關(guān)系模式R(U,F(xiàn)):(1) 構(gòu)造
26、一個(gè)k行n列的表,若i行對(duì)應(yīng)于關(guān)系模式Ri,第j列對(duì)應(yīng)于屬性Aj。如果AjRi,則在第i行第j列上放符號(hào)aj,否則放符號(hào)bij。(2) 逐個(gè)檢查F中的每一個(gè)函數(shù)依賴(lài),并修改表中的元素。其方法如下:取F中一個(gè)函數(shù)依賴(lài)X>Y,在X的分量中尋找相同的行,然后將這些行中Y的分量改為相同的符號(hào),如果其中有aj,則將bij改為aj;若其中無(wú)aj,則改為bij。這樣反復(fù)進(jìn)行,如果發(fā)現(xiàn)某一行變成了a1,a2,ak,則分解具有無(wú)損聯(lián)接性;如果F中所有函數(shù)依賴(lài)都不能再修改表中的內(nèi)容,且沒(méi)有發(fā)現(xiàn)這樣的行,則分解不具有無(wú)損聯(lián)接性。例1:對(duì)于上例的關(guān)系模式R(U,F(xiàn)),將其無(wú)損聯(lián)接性和依賴(lài)保持性分解為3NF。解:
27、依據(jù)算法: (1) 由上例求出依賴(lài)保持性分解為:=CSG,CT,THR,HRC,HSR(2) 判斷其無(wú)損聯(lián)接性如下圖所示: RiCTHRSGCSGa1b12b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b36HRCa1b42a3a4b45b46HSRb51b52a3a4a5b56( 在已知 F=CSàG,CàT,THàR,HRàC,HSàR看CS上相同的,再改G的成分沒(méi)有看C上相同的,再改T的成分2個(gè)a2看TH上相同的,再改R的成分沒(méi)有看HR上相同的,再改C的成分2個(gè)a1看HS上相同的,再改R的成分沒(méi)有再
28、看CS上相同的,再改G的成分有一個(gè)a6看C上相同的,再改T的成分有一個(gè)a2 ,其它未發(fā)生變化,略)RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRa1a2a3a4b35b36HRCa1a2a3a4b45b46HSRa1a2a3a4a5a6RiCTHRSGCSGa1a2b13b14a5a6CTa1a2b23b24b25b26THRb31a2a3a4b35b36HRCa1a2a3a4b45b46HSRa1a2a3a4a5a6(3) 不執(zhí)行。(4) 由于表中有一行從a1,a2,a6全滿,由此可知,具有無(wú)損聯(lián)接性,輸出=CSG,CT,THR,HRC,HSR。
29、例2 :已知,U=A,B,C,D,F= A>B,A->C,BC>D,D->A 判斷一個(gè)分解=AB,AC,BCD,DA是否具有無(wú)損聯(lián)接性。RiABCDABa1a2b13b14ACa1b22a3a4BCDb41a2a3a4DAa1b42b43a4由于,A>B , b22àa2, b42àa2A->C , b13àa3 , b23àa3 , b43àa3BC>D , b14àa4D->A , b41àa1RiABCDABa1a2a3a4ACa1a2a3a4BCDa1a2a3a4DAa
30、1a2a3a4所以,=AB,AD,BCD,DA具有無(wú)損聯(lián)接性。例3 :設(shè)有關(guān)系模式R(U,F(xiàn)),其中: U=A,C,B,F(xiàn)=A>B,C->B判斷一個(gè)分解=AC,BC是否具有無(wú)損聯(lián)接性。解:的無(wú)損聯(lián)接性判斷結(jié)果表如下所示:由此判斷具有無(wú)損聯(lián)接性。RiABCACa1b12a3BCb21a2a3由于,A>B 沒(méi)有變化,C->BRiABCACa1a2a3BCb21a2a3所以,=AC,BC具有無(wú)損聯(lián)接性。例 4:設(shè)有關(guān)系模式R(A,,B,C,D),其上的函數(shù)依賴(lài)集:FAC, CA, BAC, DAC (1)計(jì)算(AD)。(2)求F的最小等價(jià)依賴(lài)集Fm。(3)求R的關(guān)鍵字。 (4
31、 ) 將R分解使其滿足BCNF且無(wú)損連接性。(5)將R分解成滿足3NF并具有無(wú)損連接性與保持依賴(lài)性。解:(1) 令X=AD,,X(0)=AD,X(1)=ACD ,X(2)=ACD,故(AD) =ACD。(2) 將F中的依賴(lài)右部屬性單一化: AC CAF1= BA DA 在F1中去掉多余的函數(shù)依賴(lài):BA, AC BC是多余的。又DA, AC DC是多余的。AC CAF2= BA DA函數(shù)依賴(lài)集的最小集不是惟一的,本題中還可以有其他答案。F2中所有依賴(lài)的左部卻是單屬性,不存在依賴(lài)左部有多余的屬性。 AC CAF = BA DA(3) BD在F中所有函數(shù)依賴(lài)的右部均未出現(xiàn),候選關(guān)鍵字中一定包含BD,
32、而(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。此時(shí)AB和BD均為BCNF,=AC, AB, BD。(5)由(2)可求出滿足3NF的具有依賴(lài)保持性的為=AC, BA, DA。判斷其無(wú)損連接性如圖4.10所示的表,由此可知不具有無(wú)損連接性。令BD,BD是R的候選關(guān)鍵字,AC, BA, DA, BD。RiABCDACa1a3BAa1a2a3DAa1a3a4圖4.10 無(wú)損連接判斷表六、舉例1設(shè)有關(guān)系模式R(U,F(xiàn)),其中:UA,
33、B,C,D,E,P,F(xiàn)A B,CP,EA,CED求出R的所有候選關(guān)鍵字。解:根據(jù)候選關(guān)鍵字的定義:如果函數(shù)依賴(lài)XU在R上成立,且不存在任何X?X,使得XU也成立,則稱(chēng)X是R的一個(gè)候選關(guān)鍵字。由此可知,候選關(guān)鍵字只可能由A,C,E,組成,但有EA,所以組成候選關(guān)鍵字的屬性可能是CE。計(jì)算可知:(CE)ABCDEP,即CEU而: CCP,EABER只有一個(gè)候選關(guān)鍵字CE。2設(shè)有關(guān)系模式R(C,T,S,N,G),其上的函數(shù)依賴(lài)集:FCT,CSG,SN求出R的所有候選關(guān)鍵字。解:根據(jù)候選關(guān)鍵字的定義:R的候選關(guān)鍵字只可能由F中各個(gè)函數(shù)依賴(lài)的左邊屬性組成,即C,S,所以組成候選關(guān)鍵字的屬性可能是CS。計(jì)
34、算可知:(CS)CGNST,即CSU而: CCT,SNSR只有一個(gè)候選關(guān)鍵字CS。3設(shè)有關(guān)系模式R(A,B,C,D,E),其上的函數(shù)依賴(lài)集:FABC,CDE,BD,EA(1)計(jì)算B。(2)求出R的所有候選關(guān)鍵字。解:(1)令XB,X(0)B,X(1)BD,X(2)BD,故BBD。(2)根據(jù)候選關(guān)鍵字的定義:R的候選關(guān)鍵字只可能由F中各個(gè)函數(shù)依賴(lài)的左邊屬性組成,即A,B,C,D,E,由于ABC(AB,AC),BD,EA,故:·可除去A,B,C,D,組成候選關(guān)鍵字的屬性可能是E。計(jì)算可知:EABCDE,即EU,E是一個(gè)候選關(guān)鍵字。·可除去A,B,E,組成候選關(guān)鍵字的屬性可能是C
35、D。計(jì)算可知:(CD)ABCDE,即CDU,但CC,DD,CD是一個(gè)候選關(guān)鍵字。·可除去B,C,D,E組成候選關(guān)鍵字的屬性可能是A。計(jì)算可知:AABCDE,即AU,A是一個(gè)候選關(guān)鍵字。·可除去A,D,E,組成候選關(guān)鍵字的屬性可能是BC。計(jì)算可知:(BC)ABCDE,即CDU,但BBD,CC,BC是一個(gè)候選關(guān)鍵字。R的所有候選關(guān)鍵字是A,BC,CD,E。圖4.8 無(wú)損連接判斷表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是否為無(wú)損連接分解?RiABCDEABa1a
36、2AEa1a5CEa3a5BCDa2a3a3ACa1a3解:(1)(CE)ABCDE,即CEU,而CC,EDEBDE,根據(jù)候選關(guān)鍵字定義,CE是R的候選關(guān)鍵字。(2)的無(wú)損連接性判斷表如圖4.8所示,由此判斷不具有無(wú)損連接性。 5設(shè)有關(guān)系框架R(A, B, C, D, E)及其上的函數(shù)相關(guān)性集合 F=AC, BD, CD, DE C, CEA ,試問(wèn)分解P=R1(A, D), R2(A, B), R3(B, E) , R4(C, D, E), R5(A, E),是否為R的無(wú)損連接分解?解:的無(wú)損連接性判斷表如圖4.9所示,由此判斷不具有無(wú)損連接性。RiABCDEABa1a2AEa1a5CEa3
37、a5BCDa2a3a3ACa1a3RiABCDEADa1a4ABa1a2BEa2a5CDEa3a4a5AEa1a5 RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3 RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3RiABCDEABa1a2AEa1a5CEa3a5BCDa2a3a3ACa1a3 圖4.9 無(wú)損連接性判斷表6設(shè)有函數(shù)依賴(lài)集F=ABCE, AC, GPB, EPA, CDEP, HBP, DHG, ABCPG,計(jì)算屬性集D關(guān)于F的閉包D 。
38、解:令 XD, X(0)=D。在F中找出左邊是D的子集的函數(shù)依賴(lài),其結(jié)果是: DGH, X(1)=X(0)HG=DGH,顯然有 X(1)X(0)。在中找到左邊是DGH子集的函數(shù)依賴(lài),未找到,則X(2)=DGH. 由于X(2)=X(1),則:D DGH7已知關(guān)系模式R的全部屬性集UA, B, C, D, E, G及函數(shù)依賴(lài)集: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ù)依賴(lài)集FABCE,AC,
39、GPB,EPA,CDEP,HBP,DHG,ABCPG,求與F等價(jià)的最小函數(shù)依賴(lài)集。解:(1)將F中依賴(lài)右部屬性單一化:ABE HBP AC DHF1 GPB DG EPA ABCPCDEP ABCG (2)對(duì)于ABC,由于有AC,則為多余的: ABE HBP AC DHF2 GPB DGEPA ABCPCDEP ABCG(3)通過(guò)分析沒(méi)有多余的依賴(lài),則: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的最小依賴(lài)集。解:(1)將F中依賴(lài)右部屬性單一化: F1EG, GE, FE, FG, HE, HG (2)對(duì)于FHE, 由于有FE,則為多余的,則: F2EG, GE, FE, FG, HE, HG (3)在F2中的FE和FG以及HE和 HG之
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分析類(lèi)型面試題及答案
- 2025年秋季上學(xué)期小學(xué)一年級(jí)教師個(gè)人工作總結(jié)模版
- 工程合同主體變更協(xié)議書(shū)
- 加入養(yǎng)殖園區(qū)意向協(xié)議書(shū)
- 室內(nèi)裝修包工合同范本
- 婚紗租賃訂單轉(zhuǎn)讓協(xié)議書(shū)
- 旅游景點(diǎn)委托經(jīng)營(yíng)協(xié)議書(shū)
- 農(nóng)村私人修路占地協(xié)議書(shū)
- 二人合伙家電合同范本
- 農(nóng)村院子建房合同范本
- 2025年工程財(cái)務(wù)分析試題及答案
- 小學(xué)校園文化方案
- 財(cái)政與金融練習(xí)試卷1(共230題)
- 2025年醫(yī)院管理培訓(xùn)考試試題及答案
- 大學(xué)生思想政治教育課件教學(xué)
- 北京市公路貨運(yùn)車(chē)輛不停車(chē)檢測(cè)系統(tǒng)設(shè)施設(shè)備運(yùn)維定額2025
- 生產(chǎn)經(jīng)營(yíng)單位事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)機(jī)制實(shí)踐
- 全國(guó)縣中頭雁教師崗位計(jì)劃人員推表
- 2025年共青團(tuán)入團(tuán)考試題庫(kù)及答案
- 《守護(hù)健康課件:拒絕煙草》
- 債務(wù)風(fēng)險(xiǎn)管理指南
評(píng)論
0/150
提交評(píng)論