如何求r的候选键
发布网友
发布时间:2022-04-14 21:29
我来回答
共1个回答
热心网友
时间:2022-04-14 22:59
解法:从函数依赖集出发,把所有属性分为4类
1、L类:全部出现在函数依赖的左半部
2、R:全部出现在函数依赖的右半部
3、LR:出现在函数依赖的左右两边
4、N:不出现在函数依赖中
可能成为候选键的有L类,LR类和N类
对于L类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键.
对于LR类,求出其闭包,若包含所有属性,则为候选键,若不包含,在找出其中一个属性结合.
对于N类,直接加至候选键即可.
对于你的题目
L:无
R:z
LR:w,x,y
N:无
先排除z
在LR中,w的闭包为{w,y,z,x}
x的闭包为{x,z}
y的闭包为{y,w}
wx的闭包为{w,x,y,z}
wy的闭包为{w,y}
xy的闭包为{x,y,z,w}
wxy的闭包为{x,z,y,w}
由此可见,候选键为{w,wx,xy,xyw}
可从候选键中选取一个作为主键.
刚好学了这个,就在这回答一下,要是还有什么问题可以问我.
我有空了再看看,有什么问题会给你回复的.