基本函数依赖和候选键_给定一组字母表示的函数依赖集,怎样确定候选键?

找候选键的本质是找一组键,能够完全表示所有元素。

如果能理解,最好不要死记解题格式。

如果不是很理解,可参考以下思路,个人见解。

1.只在左边的的一定是候选键说明此键可以表示别人,但无法被别人表示。

2.只在右边的一定不是候选键说明此键只能被别人表示,而不能表示别人。

3.两边都没有的一定是候选键说明既不能表示别人,也不能被别人表示,则只能自己表示自己。

4.两边都有的需讨论。两边都有的要具体讨论。

最后要检查一下是不是最小集。

注:候选键可能不唯一。

例如提问的这题,红背景太刺眼了,我给列出来了。

第一步:C和E一定是候选键。

第二步:A一定不是候选键。

然后开始分析:

若想得到B,B只能由CDE得出,而D只能由B推出,则B和D至少有一个为候选键。

假设B为候选键,观察关系式,D可由B推出,A可由BD推出,G可由CE推出。即全部被表示,成立。故,确定{BCE}为候选键。

假设D为候选键,观察关系式,B可由CDE推出,A可由BD推出,G可由CE推出。即全部被表示,成立。故,确定{CDE}也为候选键。

综上,本题候选键为{BCE}、{CDE}

我也是最近学习的,若有问题,欢迎及时指出。

你可能感兴趣的:(基本函数依赖和候选键)