·概念
范式:Normal Format,符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度
-
范式是离散数学里的概念
-
范式目标是在满足组织和存储的前提下使数据结构冗余最小化
-
范式级别越高,表的级别就越标准
-
目前数据库应用到的范式有以下几层
- 第一范式:1NF
- 第二范式:2NF
- 第三范式:3NF
- 逆规范化
示例
1、一张员工表
工号 | 姓名 | 部门 | 入职时间 |
---|---|---|---|
0001 | 杨戬 | 武装部 | 0001-01-01 |
0002 | 李白 | 书院部 | 1500-12-12 |
2、每个员工都是与部门挂钩的,但是部门不可能很多,所以上述表中会有很多数据重复,此时应该将部门单独维护出来,减少数据冗余
部门编号 | 部门名称 |
---|---|
1 | 武装部 |
2 | 书院部 |
工号 | 姓名 | 部门编号 | 入职时间 |
---|---|---|---|
0001 | 杨戬 | 1 | 0001-01-01 |
0002 | 李白 | 2 | 1500-12-12 |
N个1和N个武装部占用的磁盘空间肯定是不一样的
小结
1、范式是一种数学理论,在关系型数据库上用来减少数据冗余
2、满足的范式越多,越符合高标准表设计
3、范式一共有6层,但是数据库的设计通常只要求满足3层即可
·第一范式1NF
1NF,数据字段设计时必须满足原子性
- 1NF要求字段数据是不需要拆分就可以直接应用
- 如果数据使用的时候需要进行拆分那么就违背1NF
步骤
1、设计的字段是否在使用的时候还需要再拆分?
2、将数据拆分到最小单位(使用),然后设计成字段
3、满足1NF
示例
1、设计一张学生选修课成绩表
学生 | 性别 |
---|