1NF的定义为:符合1NF的关系中的每个属性都不可再分
2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖
第三范式(3NF) 3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。
BCNF范式
在 3NF 的基础上消除主属性对于码的部分与传递函数依赖
函数依赖
若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。
码
设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K
假如当 K 确定的情况下,该表除 K 之外的所有属性的值也就随之确定,那么 K 就是码
非主属性
包含在任何一个码中的属性成为主属性。
第一步:找出数据表中所有的码。 完全函数依赖
第二步:根据第一步所得到的码,找出所有的主属性。
第三步:数据表中,除去所有的主属性,剩下的就都是非主属性了。
第四步:查看是否存在非主属性对码的部分函数依赖。
学号
姓名
系名
系主任
课名
分数
学号,课名 -》分数
学号 -》 姓名
学号 -》系名
系名 -》系主任
学号 -》系主任
主属性
学号,课名
非主属性
姓名、系名、系主任、分数