ran*_*nzy 26 database-theory functional-dependencies
给定关系R与属性ABCDE.您将获得以下依赖项:A - > B,BC - > E和ED - > A.我已经有了CDE,ACD和BCD的答案.我只需要知道如何做到这一点.谢谢.
lbr*_*anl 68
候选键是最小的超级键.换句话说,密钥中没有超级属性.找到候选键的第一步是找到所有超级键.对于那些不熟悉的人,超级键是一组属性,其闭包是所有属性的集合.换句话说,超级键是一组可以从中开始的属性,并且遵循功能依赖性,将引导您到包含每个属性的集合.
由于我们有函数依赖:A - > B,BC - > E和ED - > A,我们有以下超级密钥:
(这里要弄清楚的一个技巧是,由于C和D永远不会出现在函数依赖的右侧,因此每个键必须同时包含C和D)
现在我们拥有了所有超级密钥,我们可以看到只有最后三个是候选密钥.因为前四个都可以减少.但是我们不能从最后三个超级密钥中取出任何属性,仍然让它们仍然是超级密钥.
因此候选键是:ACD,BCD和CDE.
希望有所帮助,
小智 10
要找到候选键,您需要将FD分为左,中,右 - 左 - 包括仅显示在左侧(CD)的属性 - 中间包括左右两侧显示的属性( ABE) - 该权利包括仅出现在右侧(无)的属性
现在从左边找到属性的闭包:*CD + - > CD由于我们没有得到关系的所有属性,我们需要一次添加一个Middle属性(ABE)并尝试再次找到闭包.
所以:*CDA + - > CDABE(CDA是候选键)*CDB + - > CDBEA(CDB是候选键)*CDE + - > CDEAB(CDE是候选键)