关系R =(A,B,C,D,E)和函数依赖关系F如下:
F = {A-> BC,CD-> E,B-> D,E-> A}
E,BC和CD可以是候选键,但B不能。
任何人都可以指出我如何计算这个事实?我谷歌它但不能理解我之前所知的更多。
答案 0 :(得分:4)
通过计算其功能依赖关系,可以找到给定属性集的所有依赖属性。让我演示一下:
03:00
A -> ABC -> ABCD -> ABCDE
因此A
确定BC
(给定)以及(通常)A -> ABC
。添加B -> D
获取ABC -> ABCD
的事实。最后,添加CD -> E
以获取ABCD -> ABCDE
。我们在此停留是因为我们确定了整个关系,因此A
是候选键。
您应该验证,从E
,BC
和CD
开始,您确实可以确定整个关系。
从B
开始,我们得到:
B -> BD
就是这样。其余的关系无法从BD
确定,因此它不是候选键。
更直观的方式是绘制功能依赖关系:
从任何属性集开始,尝试按照箭头查找每个其他属性的路径。如果您从E
开始或访问E
和C
,则只能访问D
。
从B
,您可以D
,但如果没有C
,则不允许您转到E
,这也会排除A
。因此B
不能成为候选键。