数据库设计三大范式
第一大范式
数据库表的属性只能存在单一属性
第二大范式
表中只能存在一个业务主键
第三大范式
每一个非主属性不能依赖于业务主键
返范式设计
- 为了性能和读取性能适当的对数据库三大范式进行违反
- 允许存在少量的冗余,换句话来说就是使用空间换时间
比较
范式设计
优点
- 减少数据冗余
- 更新操作快
- 比反范式设计表小
缺点
- 查询效率低
- 更难对索引进行优化
返范式设计
优点
- 减少多表之间的关联
- 更利于索引的优化
缺点
- 存在数据冗余,数据维护异常困难
- 对数据的修改存在成本
引的优化
缺点
- 存在数据冗余,数据维护异常困难
- 对数据的修改存在成本