【数据库】——三范式

前言

 学无止境,为了“钱”途,得多给自己“充充电”,这不又来理解和总结知识。数据库真是一个庞大的工程,路漫漫其修远兮,吾将上下而求索!

范式

 范式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。

第一范式(1NF)

在关系模式R中,如果它的每个属性都是不可再分的,则称这个关系是符合第一范式。
示例——学生信息

姓名 性别 专业
老宋 物电学院电气及其自动化
老贾 生命科学学院生物科学

根据定义我们发现,上述关系是不符合第一范式的,因为它的专业属性中的内容是可以分为学院和专业,故更改为:

姓名 性别 学院 专业
老宋 物电学院 电气及其自动化
老贾 生命科学学院 生物科学

第二范式(2NF)

在关系模式R中,它是满足第一范式的,若R中不存在非主属性对主键部分函数依赖,则称该关系是符合第二范式。
示例——选课关系

学号 课程号 成绩 学分
001 C001 99 3
002 X001 100 2.5

主键:(学号,课程号)
函数关系:
(学号、课程号)→成绩
(学号、课程号)→学分
课程号→学分(部分函数依赖)
综上上述函数关系不符合第二范式,故更改如下(我的理解是把存在部分函数依赖的属性隔离):

学号 课程号 成绩
001 C001 99
002 X001 100
课程号 学分
001 3
002 2.5

第三范式(3NF)

在关系模式R中,它是满足第二范式的,若R中不存在非主属性对主键的传递函数依赖,则称该关系是符合第三范式。
示例——学生信息

学号 姓名 系号 系名 系地址
001 老宋 W001 物电学院 数理楼
002 老贾 S001 生科学院 至善楼

学号→系号,系号 \→学号,系号→系地址
所以学号→系地址,故不满足第三范式,更改如下(同理第二范式):

学号 姓名 系号
001 老宋 W001
002 老贾 S001
系号 系名 系地址
W001 物电学院 数理楼
S001 生科学院 至善楼

小结

之前对范式这一部分懵懵懂懂,但学习就是一个不断重复的过程,现在又回来温习了一遍,顺便把自己的理解总结出来,给自己点个赞!加油!

猜你喜欢

转载自blog.csdn.net/Ellen5203/article/details/81982256