数据库三大范式详解

标题数据库三大范式详解

范式简介:

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。

三大范式简介:

1NF:符合1NF的关系中每个属性不可再分

2NF:在1NF的基础上消除了非主属性对码的部分函数依赖

3NF:在2NF的基础上消除了非主属性对码的传递函数依赖

三大范式理解:

第一范式
属性不可再细分为更小力度的字段,有相似或者相近含义的字段可以合并为一个字段
第二范式:
一行数据因该只与一列相关,不应该存在冗余的数据。
第三范式:
非主属性间不应该存在传递关系

用图来表示的话,如下:
数据库三大范式详解
在这当中有这两个子列违反了第一范式的要求,所以你可以改成以下这样
数据库三大范式详解
你这样改完后依然会有数据冗余,接下来就按照第二范式来拆分把
数据库三大范式详解
拆分成为两张表之后就可以看到数据冗余是没有了,但是你去做添加或者删除的
时候就很容易出现问题,这时候就需要第三范式了

数据库三大范式详解
这样再拆分出来一张表后就很规范,你添加数据是不用担心数据混乱,删除就不用担心
会删掉其他东西

给大家一个大神连接,人家用漫画生动形象的体现三大范式,你们可以去看看:
https://mp.weixin.qq.com/s/gsP4RP_V4VUtbfyyx8lStw