我正在做一些教科书练习,要求找出关系 R 的候选键以及超级键。
我已经解决了候选键,但我不确定如何解决超级键?我只是有点困惑。
这是关系模式和功能依赖关系:
Relation Schema: **S(A, B, C, D)**
**FD's:**
A-->B
B-->C
B-->D
所以我发现 {A, AB} 是解决后的候选键。我只是不确定如何为此找到超级键。任何帮助将不胜感激。谢谢你们。
我正在做一些教科书练习,要求找出关系 R 的候选键以及超级键。
我已经解决了候选键,但我不确定如何解决超级键?我只是有点困惑。
这是关系模式和功能依赖关系:
Relation Schema: **S(A, B, C, D)**
**FD's:**
A-->B
B-->C
B-->D
所以我发现 {A, AB} 是解决后的候选键。我只是不确定如何为此找到超级键。任何帮助将不胜感激。谢谢你们。
要查找候选键,您需要查看使用依赖项将您引导至所有属性的路径。所以你是正确的,A因为 from Ayou can reach Bthat can reach {C, D}。AB不能被视为候选键,因为它从未在您的依赖项中提及。另一种思考方式是记住候选键是保证行中唯一性的最少属性数。但既然A已经是一个候选键,那么AB它就不是最小集合。由于您只有一个候选键,即A. A称为关键属性,所有其他属性称为非关键属性。2然后你通过非键属性数的幂来决定超级键的数量(B, C, D). 在这种情况下,您应该有 8 个超级键。找到它们的方法是简单地将 A 与非关键属性的所有可能组合混合。所以你的超级键是A, AB, AC, AD, ABC, ABD, ACD, ABCD.