第一范式
表的每一列都是最小的不可分割的原子值。
错误表实例:
正确表实例:
第一范式的好处:
1. 减少了数据冗余
2. 更利于数据的维护和更新
第二范式
在第一范式的基础上,要求一个表中的所有字段都必须和主键有关。
这个表中是以订单编号和商品编号作为联合主键。在该表中商品名称、单位、商品价格等信息不与该表的主键相关,而仅仅是与商品编号相关。所以在这里违反了第二范式的设计原则。
错误表实例:
正确表实例:
第二范式的好处:
1. 利于维护和修改
2. 利于展示
第三范式
在第一和第二范式的基础上,要满足所有的字段不能出现对非主键的依赖。
错误表实例:
正确表实例:
第三范式优点:
1. 实现列和非主键列的解耦(即就是修改了一个字段不会影响其它字段)