转换成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既有无损连接性又保持函数依赖的分解

步骤:
1、先转换为3NF的保持函数依赖的分解。
2、求得关系模式R<U,F>的码X,令τ= ρ \cup {R(X)}。
3、若存在X⊆Ui,则将R(X)从τ中去掉;若存在Ui⊆X,则将R(Ui)从τ中去掉。

例题:同上
1、先转换为3NF的保持函数依赖的分解,就是上面的结果ρ={R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR)}。
2、求关系模式R<U,F>的码为HS,令τ= ρ \cup {HS} = {R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR),R*(HS)}
3、由于存在HS⊆HSR,所以去掉R*(HS)。
4、综上τ={R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR)}为所求分解。

  • 33
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值