数据库 三大范式

设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

平常我们用的最多的就是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)

 

1、第一范式(1NF)

 

在关系模型中,每一个列都是不可分割的原子数据项。

数据库 三大范式

 

 在上述表格中,在收货地址这一列有多个属性,不符合原子性原则。

修改后:

数据库 三大范式

 

 

2、第二范式(2NF)

在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)。

即一个表中只能保存一类数据,不能将几种不同的数据保存在同一个表当中。

数据库 三大范式

 

在上述表格中,是以订单号与产品号作为联合主键,故单价与订单号无关。

修改后:

数据库 三大范式

 

数据库 三大范式

 

3、第三范式(3NF)

在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)。

比如在上述第二范式的例子中,我们不能将总价格放于订单表中,因为价格是依赖于订单项表的,所以总价格应该是通过订单表关联订单项表算出来的。

 

数据库 三大范式

上一篇:MySQL索引的数据结构-B+树介绍


下一篇:数据库的基本操作-增删改查