数据库范式

第一范式(1NF)

确保每列保持原子性,所有字段值都是不可分解的原子值。

第二范式(2NF)

确保每列都和主键相关,要求表中每一列都和主键相关,不能只与主键的某一部分相关。即在一个表中,只能保存一种数据,不能把多种数据保存在同一张表中

比如要设计一个订单信息表,因为订单中可能有多种商品,所有要将订单编号和商品编号作为数据库表的联合主键

这样有一个问题:表中以订单编号和商品编号作为联合主键。这样在该表中商品名称、单位、价格等信息不与该表主键相关,而是仅仅与商品编号相关。所以在这里违反第二范式原子。

修改后如下:

这样设计,在很大程度上减小了数据库的冗余。

第三范式(3NF)

确保每列都和主键直接相关,而不是间接相关。

原文地址:https://www.cnblogs.com/ecosu/p/4286026.html