函數依賴
閉包計算
1.(AE)+ = AE
2.因爲A->D,E->C,所以 (AE)+=AEDC
3.因爲CD->I ,所以(AE)+=AEDCI
候選碼計算
例1:R<U,F>,U=(A,B,C,D,E,G),F={AB->C,CD->E,E->A,A->G},求候選碼。
L:BD R:G LR:ACE
X=BD(L類和N類) Y=ACE(LR類)
因爲BD+=BD,除了G以外(G是屬於R,所以一定不是候選碼),BD可以跟A,C,E進行組合
因爲ABD+=ABDCEG=U ,所以ABD是候選碼
因爲BDC+=BDCEAG=U,所以BDC是候選碼
因爲BDE+=BDEAGC=U,所以BDE是候選碼
所以本問題的候選碼有3個分別是ABC、BCD和BDE
例2:R<U,F>,U=(A,B,C),F={AB->C,C->B},求候選碼。
L:A LR:BC
X=A Y=BC
因爲A只出現在左邊,所以A一定是候選鍵。
A的閉包還是A,則對A進行組合,可以和B,C進行組合。
首先看AB,AB本身自包AB,而AB->C,所以AB的閉包是ABC=U。
再看AC,AC本身自包AC,而C->B,所以AC的閉包是ABC=U。
因爲AB,AC的閉包都是ABC,也就是U,所以候選鍵是AB,AC。