首页 > 代码库 > 数据库设计基础----关系与3NF

数据库设计基础----关系与3NF

一、关系

  表与表之间的关系,有三种:

  一对一:A表的一条记录只能与B表的一条记录相对应,反之亦然。

  一对多(多对一):A表的一条记录能与B表的多条记录相对应,B表的一条记录只能与A表的一条记录相对应。

  多对多:A表的一条记录能与B表的多条记录相对应,B表的一条记录也能与A表的多条记录相对应。

 

二、范式 Normal Format

  范式有6层(1NF, 2NF, ...6NF),第一层都比上一层更严格,若要满足下一层,必须要先满足上一层,它的目的是为了减少数据的冗余,不考虑效率。

  但是数据库设计不只要考虑节省空间,还要考虑效率问题,所以一般设计数据库时,最多只用到3NF。

  1NF: 要求字段的数据具有原子性(不可再分解, 拿出来就可以使用);

  2NF: 当表中存在复合主键时,所有数据不能出现部分依赖,即需要依赖整个复合主键,而不能只依赖复合主键的其中一部分。

  3NF: 要求所有字段不能出现传递依赖(不直接依赖主键,而是间接依赖,如A依赖B,B依赖主键)。

数据库设计基础----关系与3NF