2

正如创建此问题时所建议的那样,我确实检查了许多不同的相关帖子。我还从在线资源以及类似问题中完成了不同的示例问题。但是,我特别关注下面的问题。

给定以下关系 R 和 R 上的函数依赖集 S,找到 R 的所有候选键。展示你的工作。

R(A, B, C, D, E, F)
S:
AB → C

AC → B

AD → E

BC → A

E → F

最初,我将属性分为几组:仅在左侧、仅在右侧和两侧(分别为 D、ABCE 和 F)找到的属性。我也知道我应该尝试计算 D 的闭包。这就是我卡住的地方。乍一看,这似乎我无法解决这个问题,这不是真的。我还尝试计算 (AD)、(BD)、(CD) 和 (ED) 的闭包,因为我认为 D = D 的闭包。有什么想法吗?

4

1 回答 1

1

这里的键是ABDACDBCD

你走在正确的轨道上。将属性分为三组后,“仅在左侧”列表下的属性始终是键的一部分。这里的属性是 D。

“我还尝试计算 (AD)、(BD)、(CD) 和 (ED) 的闭包”

由于您在以 2 个为一组的属性时无法确定键,因此您应该尝试制作 3 个属性的组并检查它们的闭合。

于 2015-06-25T09:05:59.953 回答