第一范式,第二范式,第三范式,BCFN 详解

第一范式:属性不能重复,属性不可拆分
EG:          编号  品名   ____进货___   _____销售_____     备注
                                       数量 | 单价        数量 | 单价
                  
        编号  品名  进货数量  进货单价  销售数量   销售单价  备注

第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性
EG:   比如一张表中有这么些属性:key1,key2,列1,列2,列3
      其中key1和key2组成主键,第二范式就是说列1、2、3完全依赖于key1+key2,而不是仅依赖于key1或者仅依赖于key2(也就是部分依赖)。

第三范式:如果数据表中不存在非关键字段对任意候选关键字段的传递函数依赖则符合第三范式。
EG:
                    商品名称    价格    商品描述   重量   有效期    分类      分类描述
                     可乐       3.00               250ml  2014.6   酒水饮料    碳酸饮料 
                     苹果       8.00               500g            生鲜食品      水果

                    存在以下转递函数依赖关系:
                    (商品名称)->(分类)->(分类描述)
                    也就是说存在非关键字段“分类描述”
                    对关键字段“商品名称”的传递函数依赖


BCNF    : 在第三范式的基础之上,数据库表中如果不存在任何字段对任一候选关键字的传递函数依赖则附合BC范式。
          也就是说如果是复合关键字,则复合关键字之间也不能存在函数依赖关系。
          EG:  供应商  商品ID   供应商联系人  商品数量
                            饮料一厂   1         张三           10
                            饮料一厂   2         李四           20
                            饮料二厂   1         王五           20
--        ------------------------------------------------------------------------------------
                    供应商联系人只能受雇于一家供应商,每家供应商可以供应多个商品则存在如下决定关系:
                    (供应商,商品ID)->(联系人,商品数量)
                    (联系人,商品ID)->(供应商,商品数量)
                    存在下列关系因此不符合BCNF要求:
                    (供应商)->(供应商联系人)
                    (供应商联系人)->(供应商)
                    
1、超键(super key): 在关系中能唯一标识元组的属性集
2、候选键(candidate key): 不含有多余属性的超键
3、主键(primary key):从一个关系的多个候选键中,选定一个作为主键
4、主属性: 任何一个候选键中的属性                    
                    
                    

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值