第一范式要满足原子性。就是每一个字段都是不可分割的。
比如:学生(学号,姓名)。
第二范式就是在第一范式的基础上,每一行都是由主键完全决定的。
比如:学生(学号,姓名,系别)。
如果其中有一列由主键部分决定(就是由主键和其他列共同决定),不满足第二范式。比如:学生(学号,姓名,课程,分数)那么这里的学号完全决定姓名,但是学号和课程一起才决定分数。这是就不满足,需要拆解成学生(学号,姓名)和成绩(学号,课程,分数)
第三范式就是在第二范式的基础上,但是每一行的属性不能传递依赖于主键。比如:学生(学号,姓名,部门号,系主任)。这里学号决定姓名,学号决定部门,部门决定系主任,学号是间接的决定系主任,是传递依赖,所以不满足第三范式,得拆解成学生(学号,姓名,部门号)和部门(部门号,系主任)
数据库的三大范式
最新推荐文章于 2022-06-15 15:20:38 发布