繁体   English   中英

查找候选键/超级键

[英]Finding Candidate Keys / Superkeys

我在这里处理另一个问题,它询问候选键和超级键。 我相信我有正确的候选密钥,但是如果有人可以验证那将是不错的选择。 我也很难找到超级键。 我不知道是否有找到它们的通用公式。

这是问题:

Relation Schema: U(A,B,C,D)

FD's: 

A-->B

B-->C

C-->D

D-->A

我发现候选键为:{A},{B},{C},{D}。 如果有人可以验证这是否正确,我将不胜感激。 另外,如果您可以让我知道如何找到它的超级键,那将很棒。 我不是直接在寻找答案,我只是想知道我对候选键的答案是否正确,以及如何找到该键以及其他问题(如果有通用的查找方法)的超级键。

希望有人能帮忙。 一旦有人帮助我解决这个问题,它将给出最佳答案。

欢呼大家。

让我解释一下如何以一种简单的方式查找候选键:

形成三列, 左,右和中间

在左列中,添加仅出现在FD 左侧的属性

在右列中,添加仅出现在FD 右侧的属性

在中间一列,其中加在FD的右侧和左侧出现两个属性

说明:

左列的属性表示,每个可能的候选键都必须包含这些属性

右列的属性指示候选键不应包含它

中间键上的属性可以或可以不包含在超级键中

在给定的示例中,所有属性都位于中间列下

然后,应用Closure属性

A + = ABCD

以来

A-> A 自反规则

给定 A-> B

A-> C 及物性规则 A-> B和B-> C

A-> D 及物性规则 A-> B和B-> C和C-> D

同样,我们也可以将其他键显示为候选键。

超级键不过是候选键和非素数属性的超集

因此,您的答案是正确的

这个关系的超级键是候选键的超集,因此

超级键是ABACABC等。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM