gpt4 book ai didi

relational-database - 给定 FD :s? 查找候选键的方法

转载 作者:行者123 更新时间:2023-12-04 08:13:30 26 4
gpt4 key购买 nike

我正在练习将一组函数依赖项作为输入并输出候选键。是否有一种算法,在这种情况下,为什么没有基于 Web 的实现,我可以在其中输入我的 FD:s 并作为输出获得 super key /候选 key 列表?

我练习我在 SO 上找到的内容,一个合适的问题是 how to find the highest normal form for a given relation其中提到的函数依赖是

B->G

BI->CD

EH->股份公司

G->DE

当我试图找到候选键是 BFHI 时,请检查我这样做是否正确:

FD B->G 可以重写为 ABCDEFHI->ABCDEFGHI,因此 ABCDEFHI 是一个 super 键。FD BI->CD 可以重写为 ABEFGHI->ABCDEFGHI,因此 ABEFGHI 是一个 super key 。FD EH->AG 可以重写为 BCDEEFHI->ABCDEFGHI,因此 BCDEEFHI 是一个 super 键。FD G->DE 可以重写为 ABCFGHI->ABCDEFGHI,因此 ABCFGHI 是一个 super key 。

在我们的 super key 中,BFHI 无处不在。因此 BFHI 是候选键,不能进一步减少,从检查中可以看出(?)

我的推理方式正确吗?

增广算法还可以处理另一个问题,如果可行的话, Database extraneous attributes and decomposition

在这里,FD:s 是

A->BCD

BC->DE

B->D

D->A

这里的 FB A->BCD 可以写成 AEF->ABCDEF,因此 AEF 是一个 super 键。 FD BC->DE 可以重写为 ABCF->ABCDEF,因此 ABCF 是一个 super key 。 FD B->D 可以重写为 ABCEF->ABCDEF,因此 ABCEF 是一个 super key 。 FD D->A 可以重写为 BCDEF->ABCDEF,因此 BCDEF 是一个 super 键。对于所有超键,F 是每个超键中唯一的成员,因此 F 是唯一的候选键。

这个有用吗?

感谢任何回答/评论

最佳答案

No, but as F is not in any of the FD:s then it has to be a member of every candidate key.

Also, A->BCD, BC->DE, B->D, D->A give us
A+ (the cover of A) = ABCDE
B+ = ABCDE
C+ = C
D+ = ABCDE so the
E+ = E
F+ = F.

The combinations giving ABCDEF are
AF
BF
DF
and hence the candidate keys are {AF, BF, DF}
and every enhancement of any of those three are the superkeys

关于relational-database - 给定 FD :s? 查找候选键的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com