在创建此问题时,我确实已经检查了许多不同的相关帖子。我也从在线资源以及类似的问题中做了不同的样本问题。但是,我特别关注下面的问题。
给定以下关系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的闭包有什么想法吗?
答案 0 :(得分:1)
此处的键是 ABD , ACD 和 BCD 。
你走在正确的轨道上。将属性划分为三个组后,“仅在左侧”列表下的属性始终是键的一部分。这个属性是D。
“我也试过计算(AD),(BD),(CD)和(ED)的闭包”
由于在以2组为单位获取属性时无法确定密钥,因此您应该尝试制作3个属性的组并检查其关闭。