求关系模式的候选码的方法

以关系模式R为例,存在函数依赖A→B,BC→D,DE→A,求候选码。

1.列出仅在左边存在的属性为L,仅在右边存在的属性为R,两边同时存在的为B。

L:C,E      R:没有      B:A,B,D

L属性一定存在于候选码中,R属性一定不存在于候选码中。

2.仅有L属性是否可以推出完整的U,若可以则为候选码,否则执行第三步。

CE→null,所以CE不是候选码。

3.用B属性和L属性结合而成的属性组是否可以推出完整的U,若可以则为候选码。

ACE→ACEB(A→B)→ACEBD(BC→D)=U

BCE→BCED(BC→D)→BCEDA(DE→A)=U

DCE→DCEA(DE→A)→DCEAB(A→B)=U

由于ACE,BCE,DCE都可以推出完整的U,所以,ACE,BCE,DCE就是R的候选码。

你可能感兴趣的:(数据库,mysql)