为什么需要数据规范化?
- 信息重复
- 更新异常
- 插入异常
- 无法正常显示信息
- 删除异常
- 丢失有效的信息
规范数据库设计(规范性和性能的问题)
关联查询的表不得超过三张表
- 考虑商业化的需求和目标(成本,用户体验)数据库的性能更加重要
- 在规范性能的问题的时候,需要适当的考虑一下规范性
- 故意给某些表增加一些冗余的字段。(从多表查询中变为单表查询)
- 故意增加一些计算列(从大数据库降低为小数据量的查询:索引)
三大范式
概念解释:三大范式其实就是数据库建表的规范
第一范式(1NF)
- 原子性:保证每一列不可再分
- 要求一张表中的数据每一列都是不可分割的原子项数据
例子
下面的这张表就是不符合第一范式的,因为家庭信息和学校信息中的数据都不是原子项数据。(家庭信息和学校信息不是唯一的)