为什么需要数据库设计

  • 良好的数据库设计
  • 节省数据的存储空间
  • 能够保证数据的完整性
  • 方便进行数据库应用系统的开发
  • 糟糕的数据库设计
  • 数据冗余、存储空间浪费
  • 内存空间浪费
  • 数据更新和插入的异常

数据库设计的步骤

  • 收集信息
  • 标识实体(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