資源描述:
《閉包和候選碼求解.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、例2:設(shè)有關(guān)系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},計(jì)算(AE)+解:(1)令X={AE},X(0)=AE(2)在F中尋找尚未使用過的左邊是AE的子集的函數(shù)依賴,結(jié)果是:A→D,E→C所以X(1)=X(0)DC=ACDE,顯然X(1)≠X(0).(3)在F中尋找尚未使用過的左邊是ACDE的子集的函數(shù)依賴,結(jié)果是:CD→I所以X(2)=X(1)I=ACDEI。雖然X(2)≠X(1),但F中尋找尚未使用過函數(shù)依賴的左邊已經(jīng)沒有X(2)的子集,所以不必再計(jì)算下去,即(AE)+=ACDEI。候選碼的求解理論和算法對于
2、給定的關(guān)系R(A1,A2,…An)和函數(shù)依賴集F,可將其屬性分為4類:L類僅出現(xiàn)在函數(shù)依賴左部的屬性。R類僅出現(xiàn)在函數(shù)依賴右部的屬性。N類在函數(shù)依賴左右兩邊均未出現(xiàn)的屬性。LR類在函數(shù)依賴左右兩邊均出現(xiàn)的屬性。1、快速求解候選碼的一個(gè)充分條件定理:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(X∈R)是L類屬性,則X必為R的任一候選碼的成員。推論:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(X∈R)是L類屬性,且X+包含了R的全部屬性;則X必為R的唯一候選碼。例1設(shè)有關(guān)系模式R(A,B,C,D),其函數(shù)依賴集F={D→B,B→D,AD→B,AC→D},求R的所有候選碼。解:考察F
3、發(fā)現(xiàn),A,C兩屬性是L類屬性,所以AC必是R的候選碼成員,又因?yàn)椋ˋC)+=ABCD,所以AC是R的唯一候選碼。定理:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(X∈R)是R類屬性,則X不在任何候選碼中。定理:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(X∈R)是N類屬性,則X必包含在R的任一候選碼中。推論:對于給定的關(guān)系模式R及其函數(shù)依賴集F,若X(X∈R)是L類和N類組成的屬性集,且X+包含了R的全部屬性;則X是R的唯一候選碼。2、多屬性依賴集候選碼求解方法輸入:關(guān)系模式R及其函數(shù)依賴集F輸出:R的所有候選碼。方法:(1)將R的所有屬性分為L、R、N和LR4類,并令X代表L
4、、N兩類,Y代表LR類。(2)求X+。若X+包含了R的全部屬性,則X即為R的唯一候選碼,轉(zhuǎn)(5);否則,轉(zhuǎn)(3)。(3)在Y中取一屬性A,求(XA)+。若它包含了R的全部屬性,則轉(zhuǎn)(4);否則,調(diào)換一屬性反復(fù)進(jìn)行這一過程,直到試完Y中的屬性。(4)如果已經(jīng)找出所有候選碼,則轉(zhuǎn)(5);否則在Y中依次取出兩個(gè)、三個(gè)、…求它們的屬性閉包,直到其閉包包含了R的全部屬性。(5)停止,輸出結(jié)果。例2、設(shè)有關(guān)系模式R,其中U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D}求出R的所有候選碼例3設(shè)有關(guān)系模式R,其中F={Y→Z,XZ→Y}求出R的所
5、有候選碼,并指出關(guān)系模式是第幾范式R的候選碼是XY和XZ,所有屬性都是主屬性,不存在非主屬性對候選碼的傳遞函數(shù)依賴,是3NF.例4設(shè)有關(guān)系模式R,其中F={X→Z,WX→Y}求出R的所有候選碼,并指出關(guān)系模式是第幾范式R的候選碼是WX,Y,Z是非主屬性,非主屬性X對候選碼WX是部分函數(shù)依賴,是1NF.例5設(shè)有關(guān)系模式R,其中F={B→C,MT→B,MC→T,MA→T,AB→G}求出R的所有候選碼,并指出關(guān)系模式是第幾范式R的候選碼是AM,3NF.