为什么需要数据库设计
- 良好的数据库设计
- 节省数据的存储空间
- 能够保证数据的完整性
- 方便进行数据库应用系统的开发
- 糟糕的数据库设计
- 数据冗余、存储空间浪费
- 内存空间浪费
- 数据更新和插入的异常
数据库设计的步骤
- 收集信息
- 标识实体(Entity)
- 标识每个实体的属性(Attribute)
- 标识实体之间的关系(Relationship)
E-R图
- 矩形:实体
- 椭圆:属性
- 菱形:关系
- 一对一
- 一对多
- 多对一
- 多对多
数据规范化
数据范式包括:
- 第一范式( 1st NF -First Normal Form )
- 第二范式( 2nd NF-Second Normal Form )
- 第三范式( 3rd NF- Third Normal Form )
第一范式:1NF
所有属性都不可再分,即数据项不可分。
第一范式强调数据表的原子性,是其他范式的基础。
第二范式:2NF
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的。
为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
第三范式:3NF
第三范式(3NF)是在第二范式(2NF)的基础上建立起来的。
每个非主属性都不传递依赖于R的候选键。
三大范式总结
- 1NF:表中的列只能含有原子性(不可再分)的值
- 2NF:没有部分依赖
- 3NF:没有传递依赖
注意:参考三大范式即可,不需要严格遵循
作者:暄总-tester