唯一候選碼計(jì)算


設(shè)有關(guān)系模式R(A,B,C,D)與
它的函數(shù)依賴集F={D → B,B →D,AD →B,AC →D},
求R的所有候選碼。
?
找L和N,唯一候選碼 ?LR
R屬性一定不是候選碼 ?
?
?
F={D →?B,B?→D,AD →B,AC →D}
第一步:刪R屬性
R(A,B,C,D)?R(A,C)?
(AC)+?=?ABCD=R ??那么唯一候選碼就是AC
?
R(A,B,C,D,E,P)?F={A-->D,E-->D,D-->B,BC-->D,DC-->A}
R(C,E,P) ??(C,E,P)+=ABCDEP 那么cep就是候選碼
?
最小函數(shù)依賴集 求法
口訣:
右側(cè)先拆單,依賴依次刪
還原即可刪,再拆左非單
?
R=(A,B,C)
F={A-->BC,B-->C,A-->B,AB-->C}
右側(cè)先拆單
F={A-->B,A-->C,B-->C,A-->B,AB-->C}
依賴依次刪
F={A-->B,A-->C,B-->C,AB-->C}
還原即可刪
AB-->C ??因?yàn)橛?/span>A-->C, ?F={A-->B,A-->C,B-->C}
?
A-->C 是由A-->B,B-->C 刪掉A->C
?Fmin={A-->B,B-->C}
?
書本上的方法是用閉包解決
F={C-->A,A-->B,B-->C,C-->B,A-->C,BC-->A}
?
右側(cè)先拆單
BC-->A
B+=ABC ?B->A
F={C-->A,A-->B,B-->C,C-->B,A-->C,B->A}
B-->A,A-->B ?---C-->B,
F={C-->A,A-->B,B-->C,A-->C,B->A}
A-->B,B-->C---- ?A-->C
F={C-->A,A-->B,B-->C,B->A}
B-->A,B-->C, ---,B->A
F={C-->A,A-->B,B-->C}
?
C+=CA ?C-->A
F={C-->A,A-->B,B-->C,C-->B,A-->C,C-->A}
?
無損分解
R(A,B,C,D)??F={B-->A,C-->D}
P={AB,BC,CD}
?
打表格,標(biāo)a,00,如果全行出現(xiàn)a,則是無損分解

保函3NF分解問題
口訣:
保函依賴分解題,先求最小依賴集
依賴兩側(cè)未出現(xiàn),分成子集放一邊
剩余依賴變子集
若要連成無損,再添候選做子集
?
R(F,G,H,I,J) R的函數(shù)依賴集F={F-->I,J-->I,I-->G,GH-->I,IH-->F}
將R分解成3NF,并具有無損連接性和保持函數(shù)依賴性
(1)最小依賴集
最小函數(shù)依賴集 求法
口訣:
右側(cè)先拆單,依賴依次刪
還原即可刪,再拆左非單
F={F-->I,J-->I,I-->G,GH-->I,IH-->F}
P={FI,JI,IG,GHI,IHF}
(2)判斷無損分解
?

?
(3)求候選連成無損
?
?


?
?
?
?
?
?