范式


范式

范式(Normal Format):是设计合理的关系型数据库时,遵从不同的规范要求,这些不同的规范要求被称为不同的范式

范式是为了解决数据的存储和优化问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据坚决不再存储,最终目的是减少数据的冗余;

范式是一种分层的结构规范,分为6层,每一次都比上一层更加严格,若要满足下一层的规范,前提必须满足上一层规范;

六层范式,1NF2NF3NF4NF5NF6NF1NF是最底层,要求最低;6NF是最高层,要求最严格;

Mysql是关系型数据库,有空间浪费,也是致力于节省存储空间,与范式所要解决的问题不谋而合,会利用到范式来指导设计;

但是数据库不单是要解决空间问题,还要保证效率问题,范式只为解决空间问题,所以数据库设计时不能完全依照范式的要求实现,所以一般情况只需要满足前三种范式即可;

范式在数据库设计时有指导意义,但不是强制要求;

1NF

1NF要求字段的数据具有原子性;

2NF

1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)(这时的候选码一般为复合键)

解决办法:(1)将复合键拆分到不同的表中;

  2)取消复合键,使用逻辑主键;

3NF

1NF基础上,任何非主属性不依赖于其他非主属性(在2NF的基础上消除传递依赖

 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雅静8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值