第一范式:主要是指保证各每一个属性不可在分,也就是每一列都不可以再拆分
第二范式:主要是针对主键是由多个属性组成的联合主键,也就是在第一范式的基础上保证,不存在非主属性对主键的部分依赖
第三范式:在满足二范式的前提下,不存在传递依赖,像a依赖于b,b依赖于c,则a依赖于c的情况。
非主键列越少越容易达到3NF。
一般做业务的时候,要在满足需求的时候尽量,减少冗余,可以进行反范式化,但是会使表的存储空间变大,如果一个表的冗余字段进行修改另一个表也需要进行修改,否则会造成数据不一致
当冗余信息有价值或者能大幅度提高查询效率的时候,我们才会采取反范式的优化。
1.增加冗余字段的建议
2. 历史快照、历史数据的需要在现实生活中,我们经常需要一些冗余信息,比如订单中的收货人信息,包括姓名、电话和地址等。每次发生的订单收货信息都属于历史快照 ,需要进行保存,但用户可以随时修改自己的信息,这时保存这
些冗余信息是非常有必要的。