转换成3NF既有无损连接性又保持函数依赖的分解

转换为3NF的保持函数依赖的分解

步骤:
1、求关系模式R<U,F>的最小依赖集Fm。
2、找出所有不在Fm中出现的属性,这些属性构成R0<U0,F0>。把这些属性从U中去掉,剩余的属性仍记为U。
3、若Fm中存在X→A,且XA=U,则R不用分解。
4、对F中的每一个函数依赖X→A,构造一个关系模式R(XA)。如果存在X→A1,X→A2,…,X→An,则构造R(XA1A2…An)。

例题:关系模式R<U,F>,其中U={C,T,H,R,S,G},F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成3NF并保持函数依赖。
1、计算Fm,求得F即为Fm。

2、由于R中的所有属性均在F中都出现,所以转下一步。
假设: U={C,T,H,R,S,G},F={CS→G}
由于T,H,R没有在F中出现,于是将R0={THP}作为一个分解关系

3、对F按具有相同左部的原则分为:
R1=CSG,R2=CT,R3=THR,R4=HRC,R5=HSR。
所以ρ={R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR)}。
相同左部分的原则:
举例:C→T ,C→A是相同的左部,则将二者合并为一个关系C→AT


转换成3NF既有无损连接性又保持函

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值