背景
表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,如何审核呢?需要一些有关数据库设计的理论指导规则,这些规则业界简称数据库的范式。
两个重要概念
1、部分函数依赖
1> 存在数据冗余
2>添加数据会有异常
3>更新数据会有异常
4>删除会有异常
2、传递函数依赖
1> 存在数据冗余
2>添加数据会有异常
3>更新数据会有异常
4>删除会有异常
三大范式
1、第一范式
1-1、第一范式的目标是确保每列的原子性
1-2、如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式
2、第二范式
2-1、如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式
2-2、第二范式要求每个表只描述一件事情
3、第三范式
3-1、如果一个关系满足第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式
总结:
良好的数据库设计
1、节省数据的存储空间
2、能够保证数据的完整性
3、方便进行数据库应用系统的开发
糟糕的数据库设计
1、数据冗余、存储空间浪费
2、内存空间浪费
3、数据更新和插入的异常