转换成BCNF的保持无损连接的分解

https://blog.csdn.net/ristal/article/details/6652020

转换成BCNF的保持无损连接的分解
算法1:
在这里插入图片描述
例3: 关系模式R<U,F>,其中U={C,T,H,R,S,G},
F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成BCNF并保持无损连接。
在这里插入图片描述
例4:关系模式R<U,F>,其中:U={A,B,C,D,E},F={A→C,C→D,B→C,DE→C,CE→A},将其分解成BCNF并保持无损连接。
解:
① 令ρ={R(U,F)}。
② ρ中不是所有的模式都是BCNF,转入下一步。
③ 分解R:R上的候选关键字为BE(因为所有函数依赖的右边没有BE)。考虑A→C函数依赖不满足BCNF条件(因A不包含候选键BE),将其分解成R1(AC)、R2(ABDE)。计算R1和R2的最小函数依赖集分别为:F1={A→C},F2={B→D,DE→D,BE→A}。其中B→D是由于R2中没有属性C且B→C,C→D;DE→D是由于R2中没有属性C且DE→C,C→D;BE→A是由于R2中没有属性C且B→C,CE→A。又由于DE→D是蕴含关系,可以去掉,故F2={B→D,BE→A}。
分解R2:R2上的候选关键字为BE。考虑B→D函数依赖不满足BCNF条件,将其分解成R21(BD)、R22(ABE)。计算R21和R22的最小函数依赖集分别为:F21={B→D},F22={BE→A}。
由于R22上的候选关键字为BE,而F22中的所有函数依赖满足BCNF条件。故R可以分解为无损连接性的BCNF如:ρ={R1(AC),R21(BD),R22(ABE)}

例题:
设有关系模式R(X,Y,Z),F={Y→Z,XZ→Y}。试判断该关系模式为第几范式,并说明理由。

1.先求候选关键字,
可知xz->Y,所以XZ是候选键,(XZ)f+=XYZ,
而又Y->Z,且XZ->Y,从而有**(YZ)f+=XYZ(**这里先由Y 决定Z,再由X和Z一起构成全部的依赖,所以只要YZ就可以决定XYZ)

R是3NF。
R候选关键字为XY和XZ,R中所有属性都是主属性,不存在非主属性对候选关键字的传递依赖。

根据F可以知道,
这个关系模式的码为XZ,Y为非主属性,
且有XZ---->Y,则此关系模式符合第二范式,

再来看,根据第三范式的定义:对于关系模式R(U,F)中若不存在这样的码X,属性组Y及分主属性Z(Z不含于Y)使得X---->Y,Y----->Z成立,X不函数依赖于Y,这成R符合第三范式。

此题中因为XZ---->Y,Y---->Z ,XZ----->Z ,但是Z是主属性中的,故此模式也符合第三范式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值