Skip to content

MySQL 三范式与 E-R 规则

在数据库的设计中,有许多规则,这里简介了常见的三范式E-R模型

三范式

  • 第一范式(1NF):强调列的原子性,即一列不能够再分成其他几列。
  • 第二范式(2NF):首先满足 1NF,其次必须有一个主键(主键可以是多列),不包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
  • 第三范式(3NF):首先满足 2NF,其次,非主键列必须直接依赖于主键,不存在传递关系。

如果不满足,拆表,于是形成许多有关联的数据表,组成关系数据库。

E-R模型

  • E 表示 entry 实体,一个实体转化为数据库中的一个表。
  • R 表示 relationship 关系,关系描述两个实体之间的对应规则,关系也是一种数据,需要通过一个字段存储在表中。
    • 实体 A 对实体 B 为一对一:在其中一个表中创建一个字段,存储另一个表的主键;
    • 实体 A 对实体 B 为一对多:在表 B 中创建一个字段,存储表 A 的主键值;
    • 实体 A 对实体 B 为多对多:新建一张表 C,这个表只有两个字段,一个用于存储 A 的主键值,一个用于存储 B 的主键值。