没有数据规范化的危害
- 信息重复
- 更新异常
- 插入异常
- 无法正常显示信息
- 删除异常
- 丢失有效的信息
数据库的范式有六种:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式),最常用的是三大范式
三大范式(规范数据库的设计)
第一范式(1NF)
要求数据库的每一列都是不可分割的原子数据项
即:原子性:保证每一列都不可再分。
第二范式(2NF)
前提:满足第一范式
每张表只描述一件事情。
第三范式(3NF)
前提:满足第二范式和第一范式
需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
规范性和性能的问题
关联查询的表不得超过三张
- 考虑商业化的需求和目标,(成本,用户体验)数据库的性能更重要
- 在规范性能的问题的时候,需要适当的考虑一下规范性
- 故意给某些表增加一些冗余的字段(多表查询中变为单表查询)
- 故意增加一些计算列(以大数据量降低为小数据量的查询:索引)