已知:关系模式R(U,F),U=ABCD,F={A→C,C→A,B→AC,D→AC},将模式R无损失连接并保持函数依赖,分解为3NF

已知:关系模式R(U,F),U=ABCD,F={A→C,C→A,B→AC,D→AC},将模式R无损失连接并保持函数依赖,分解为3NF

解答步骤:
①求出候选码
L:B,D
LR:A,C
BD→ABCD
因此候选码是BD
②求出函数F的最小函数依赖集
(极小化处理)

此处F={A→C,C→A,B→AC,D→AC}
继续对F进行分解
得到
F={A→C,C→A,B→A,B→C,D→A,D→C}
经过简化得
F={A→C,C→A,B→C,D→A,D→C}(去掉了B→A)
③求保持函数依赖的3NF
ρ={R1(AC),R2(BC),R3(CD)};
ps:此处因为A→C,C→A,因此可以直接化成R1所示。在关系的表示中没有问题
④检测是否满足无损分解条件

在这里插入图片描述
按照F中所给的关系模式在表格中进行对应,首先是A->C:

把第一列相同的a1,对应相应行改成与第三列第一行相同的数字:👇

在这里插入图片描述
如上图所示没有一行出现全部为a的情况,因此不满足无损分解条件。接下来我们将候选码BD单独作为一个关系放入上面关系中去得到

ρ={R1(AC),R2(BC),R3(CD),R4(BD)};经过再次无损分解验证可以得出此处已经满足无损分解条件

⑤得出结果
ρ={R1(AC),R2(BC),R3(CD),R4(BD)}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值