出于对作者的尊重
参考文献:cnblogs.com/shuxiaosheng/p/11588837.html
第一范式:原子性,字段内容不可分割;
第二范式:在第一范式的基础上,一张表只做一件事,存在主键,其他字段都依赖主键;
第三范式:在第二范式的基础上,消除数据的传递性。
反三范式:增加冗余字段,以空间换时间,提高效率。
解释:(以下举例全为反例)
第一范式:内容不可拆分,比如adress字段:山西-太原可拆分;
第二范式:
- 一张表只能有一个功能;
- 只能通过主键确定数据的唯一性,而不是通过联合索引,eg:一张表一个订单id跟一个商品id,想确定数据唯一性必须使用这两个联合主键才能确定;
第三范式:字段之间不产生关联,eg:单价字段,数量字段,总价字段,总价与前两个有关联,完全可以不用这个字段。
反三范式:以第三范式举例,如果数据量特别多的情况频繁需要计算总价,此时为了提升效率,可以加上;(总价=单价*数量,如果没有这个字段,需要将数据循坏乘积,效率慢)