规范封面后的候选键

时间:2018-06-15 09:16:00

标签: database functional-dependencies candidate-key

我有一组功能依赖:

V = {ABCDEF} F = {AB→CD,ABDE→F,BC→A,C→DF}

候选钥匙是:{ABE,BCE} 规范封面是:{AB→C,BC→A,C→DF} [这是我认为的,可能是错误的]

但是,你可以看到候选键的属性E不在我的规范封面中,据我所知,候选键在规范封面中应该是相同的。 如果你考虑来自阿姆斯特朗微积分的增强规则我们可以说它是正确的但我很困惑。属性E是否必须在规范封面中表示?

1 个答案:

答案 0 :(得分:0)

你说:

  

据我所知,候选键在规范封面中应该相同

事实并非如此。相反,如果属性不属于规范封面的功能依赖性的任何右侧部分,则必须出现在任何候选键中(这是因为它不能从任何其他属性子集派生,因此,由于候选键必须确定所有属性,因此它应该存在于任何键中)。您的规范封面和候选键是正确的。

请注意,如果某个属性不属于任何功能依赖项(在左侧和右侧部分),在您的示例中为E,这是上面的一个特例(它不属于右侧)部分方面),并且必须存在于任何候选键中。

最后,请注意,这可以被视为关系中出现错误的“症状”,实际上模式不在3NF或BCNF中。