0

我正在做一些教科书练习,要求找出关系 R 的候选键以及超级键。

我已经解决了候选键,但我不确定如何解决超级键?我只是有点困惑。

这是关系模式和功能依赖关系:

Relation Schema: **S(A, B, C, D)** 

**FD's:**

A-->B

B-->C

B-->D

所以我发现 {A, AB} 是解决后的候选键。我只是不确定如何为此找到超级键。任何帮助将不胜感激。谢谢你们。

4

1 回答 1

0

要查找候选键,您需要查看使用依赖项将您引导至所有属性的路径。所以你是正确的,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.

于 2015-05-07T04:38:16.303 回答