数据库中的三种常见范式

关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式,下面介绍常见三种:

 

◆ 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。

 

◆ 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。

 

成绩表

学号、课程号、姓名、学分;

 

这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓名依赖与学号,所以不符合二范式。

 

◆ 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

选课表

学生 课程 教师 教师职称 教材 教室 上课时间

 

教师依赖于(学生,课程),而教师职称又依赖于(教师),存在传递依赖

 

修改后

教师表

教师 教师职称

选课表

学生 课程 教师 教室 上课时间

 

简单的说,

          第一范式就是原子性,字段不可再分割;

          第二范式就是完全依赖,没有部分依赖;

          第三范式就是非主属性之间没有传递依赖。

猜你喜欢

转载自blog.csdn.net/qq_40531768/article/details/89361346