我正在做一些教科书练习,要求找出关系R和超级密钥的候选键。
我已经解决了候选键,但我不确定如何解决超级键?我有点困惑。
这是关系模式和功能依赖关系:
Relation Schema: **S(A, B, C, D)**
**FD's:**
A-->B
B-->C
B-->D
所以我发现{A,AB}是解决后的候选键。我只是不确定如何为此找到超级密钥。任何帮助将不胜感激。谢谢大家。
答案 0 :(得分:0)
要查找候选键,您需要查看使用依赖项的所有属性的路径。因此,您对A
的信息是正确的,因为从A
开始,您可以B
达到{C, D}
。 AB
不能被视为候选密钥,因为您的依赖项中从未提及过它。考虑它的另一种方法是记住候选键是保证行中唯一性的最小属性数。但由于A
已经是候选键,因此AB
不是最小集合。
由于您只有一个候选键A
。 A
称为键属性,所有其他属性称为非键属性。然后根据2
确定超级密钥的数量与非密钥属性(B, C, D)
的数量的关系。在这种情况下,您应该有8个超级密钥。找到它们的方法只是将A与所有可能的非键属性组合进行混搭。所以你的超级密钥将是A, AB, AC, AD, ABC, ABD, ACD, ABCD
。