
判断是否无损连接的方法:
若关系模式R(U,F)中,被分解为p={R1, R2}是R的一个分解,若R1∩R2 → R1 - R2或者R1∩R2 → R2 - R1,则为无损连接
下面来看个例题
设有关系模式R(U,V,W,X,Y,Z),其函数依赖集:F={U→V,W→z,Y→U,WY→X},现有下列分解:p={UVY,WXYZ}
判断分解p是否为无损连接
首先计算 R1∩R2 为Y,R1-R2为UV因为 Y→U,U→V,因此Y→UV。
所以为无损连接
构造表的第一行看,AB,A处标a1(已知),B处标a2(已知),C处标b13(未知).构造表的第二行看,BC,A处标b21(未知),B处标a2(已知),C处标a3(已知).
因为B→C,在第二行的C处已知,在第一行中C处将b13改为a3,变为已知。
之后就变为根据A→B进行处理后的表了。这里的根据A→B进行处理说的就是这个处理的过程。
这个判断题是错误的,很明显,第二个表中的第一行全是a行。前面的一行我称为第零行,为属性行。这分解是具有无损联结特性的。
ST为候选码,CR为非主属性,不存在非主属性对候选码的部分函数依赖,但存在传递函数依赖,ST→C故而是2NF。因为P1∩P2=C,P1-P2=TR,P2-P1=S,C→TR,C→S均不成立,故这个分解不具有无损连接性。
π
p1(F)∪π
p2
(F)={TR→C}
与F不等价,故不保持函数依赖。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)