mysql 数据库设计的三范式

1. 数据库设计之三范式的介绍

范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可。

  • 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列。
  • 第二范式(2NF): 满足 1NF,另外包含两部分内容,一是表必须有一个主键;二是非主键字段 必须完全依赖于主键,而不能只依赖于主键的一部分。
  • 第三范式(3NF): 满足 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

2. E-R模型的介绍

E-R模型即实体-关系模型,E-R模型就是描述数据库存储数据的结构模型。

E-R模型的使用场景:

  1. 对于大型公司开发项目,我们需要根据产品经理的设计,我们先使用建模工具, 如:power designer,db desinger等这些软件来画出实体-关系模型(E-R模型)
  2. 然后根据三范式设计数据库表结构

E-R模型的效果图:

 

 

说明:

  • 实体: 用矩形表示,并标注实体名称
  • 属性: 用椭圆表示,并标注属性名称,
  • 关系: 用菱形表示,并标注关系名称
    • 一对一
    • 一对多
    • 多对多

一对一的关系:

 

 

说明:

  • 关系也是一种数据,需要通过一个字段存储在表中
  • 1对1关系,在表A或表B中创建一个字段,存储另一个表的主键值

一对多的关系:

 

 

说明:

  • 1对多关系,在多的一方表(学生表)中创建一个字段,存储班级表的主键值

多对多的关系:

 

 

说明:

  • 多对多关系,新建一张表C,这个表只有两个字段,一个用于存储A的主键值,一个用于存储B的主键值

posted on 2020-10-09 08:31  paike123  阅读(147)  评论(0编辑  收藏  举报

导航