一、关系
表与表之间的关系,有三种:
一对一:A表的一条记录只能与B表的一条记录相对应,反之亦然。
一对多(多对一):A表的一条记录能与B表的多条记录相对应,B表的一条记录只能与A表的一条记录相对应。
多对多:A表的一条记录能与B表的多条记录相对应,B表的一条记录也能与A表的多条记录相对应。
二、范式 Normal Format
范式有6层(1NF, 2NF, ...6NF),第一层都比上一层更严格,若要满足下一层,必须要先满足上一层,它的目的是为了减少数据的冗余,不考虑效率。
但是数据库设计不只要考虑节省空间,还要考虑效率问题,所以一般设计数据库时,最多只用到3NF。
1NF: 要求字段的数据具有原子性(不可再分解, 拿出来就可以使用);
2NF: 当表中存在复合主键时,所有数据不能出现部分依赖,即需要依赖整个复合主键,而不能只依赖复合主键的其中一部分。
3NF: 要求所有字段不能出现传递依赖(不直接依赖主键,而是间接依赖,如A依赖B,B依赖主键)。