范式----设计关系型数据库的准则

第一范式(1NF):字段(列)都是单一属性,不可再分。

第二范式(2NF):在1NF基础上,要求在数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。就是消除部分依赖性,意思是在2NF中组合主键(AB)中的A,B不能和其他字段存在组合重复,解决方法就是:1、复合键拆分为两个表。2、不用组合主键,添加一个编号列作为单一主键。

     if不按照2NF会出现问题:1、数据冗余:例如一个东西被N个人买,那么这个东西就重复了N-1次。

                                           2、更新异常:若调整了某一产品类型,其他全部的产品都要调整才行

                                           3、插入异常:假设新近一产品,还没人买,这样产品名称类型无法记录到数据库中

                                           4、删除异常:假设顾客把已购买产品退货,这些产品信息就从数据表中删除了。但同时产品其他信息也被删除了。

第三范式(3NF):要求数据表中不存在非关键字段对任一候选关键字段的传递函数依赖。

                ?传递函数依赖:如果A决定B,B决定C,则C传递函数依赖于A。

鲍依斯-科德 范式(BCNF):建立在3NF基础上,如果数据表中不存在任何字段对任一候选关键字段的传递函数依赖。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值