设计范式概述
- 设计范式是设计表的依据,按照这三个范式设计的表不会出现数据冗余
- 数据库设计尽量遵循三范式,但在实际的开发中,以满足客户需求为主,有的时候会拿冗余换执行速度
一、第一范式
- 数据库表中不能出现重复记录,每个字段是原子性的不能再分
- 第一范式每个表必须有主键,通常采用数值型或定长字符串表示,而列不可再分应视具体情况决定
- 有主键,记录不重复,字段具有原子性
二、第二范式
- 第二范式是建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖
- 完全依赖,没有部分依赖
- 多对多的设计:关系表有两个外键
三、第三范式
- 建立在第二范式的基础上,所有非主键字段直接依赖主键,不能产生传递依赖
- 没有传递依赖
- 一对多的设计:两张表,多的表加外键
四、设计方案
1. 一对一
1. 主键共享
2. 外键唯一
2. 一对多
- 两张表,多的表加外键
3. 多对多
- 关系表有两个外键