数据库设计之三大范式
2017-08-01 23:02
218 查看
背景
表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,如何审核呢?需要一些有关数据库设计的理论指导规则,这些规则业界简称数据库的范式。
两个重要概念
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、数据更新和插入的异常
表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,如何审核呢?需要一些有关数据库设计的理论指导规则,这些规则业界简称数据库的范式。
两个重要概念
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、数据更新和插入的异常
相关文章推荐
- 数据库设计三大范式与BCNF
- 数据库设计的三大范式
- 数据库设计三大范式应用实例剖析
- 数据库设计三大范式应用实例剖析
- 数据库设计三大范式应用实例剖析
- [转] 数据库设计三大范式应用实例剖析
- 数据库三大范式详解(转载、含数据库设计原则与方法链接)
- 数据库设计三大范式
- 新人浅谈__(数据库的设计__数据库模型图,数据库E-R图,三大范式)
- 数据库设计三大范式总结
- 对数据库设计的三大范式的理解
- 数据库设计三大范式
- 数据库设计的三大范式
- 数据库设计三大范式
- 数据库设计三大范式应用实例剖析
- 数据库设计三大范式
- 数据库设计三大范式
- 数据库设计三大范式
- 数据库设计三大范式应用剖析
- 【数据库】数据库设计三大范式