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}
可从候选键中选取一个作为主键.
刚好学了这个,就在这回答一下,要是还有什么问题可以问我.
我有空了再看看,有什么问题会给你回复的.
首先分析一下候选码,是WY,有非主属性部分函数依赖,所以是1NF。简单看一下分解,这个分解可以发现Y->U函数依赖丢了。这里其实就是相当于Y->U, U->V,被分解为YV和UV,这显然是有损的。如果非要用算法证明就需要构建矩阵了,不过我们可以化简一下矩阵
YU V
R1(YV) yb12 v
R2(UV) b21uv
我们可以看到,无论如何应用函数依赖对这个矩阵进行转换,都无法使其中一行变成yuv,所以不是无损连接分解