数据库系统——3NF与BCNF模式分解

【判定原则】

对于关系模式R,有属性集U和函数依赖集F

        3NF:F中任意函数依赖“α→β”的左右属性,都必须是候选码的一部分(或候选码本身)

        BCNF:F中所有左边的属性,都是候选码(闭包为U)

     (注:这里省略了平凡的情况和只有两个元素的简单情况,它们显然都满足3NF和BCNF)

【分解步骤】:

  1. 进行BCNF判定,若满足直接结束(肯定也满足3NF)。否则进入下一步
  2. 求F的正则覆盖Fc,获得候选码
  3. 判定是否为3NF,若是直接执行第五步
  4. 3NF分解
    1. 将R按照Fc中的依赖直接依次拆分成单个关系模式
    2. 若候选码不在F的关系左侧,则单独添加一个候选码的关系模式
  5. BCNF分解
    1. 选择第一个不满足BCNF的函数依赖”α→β”,分解为关系模式R(α, β)和R(α, (U-α-β))
    2. 计算不含β的新函数依赖集F’,检查R(α, (U-α-β))是否满足条件,若不满足,重复步骤i)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值