第二范式:在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)
(1)函数依赖:A—>B,如果通过A的属性(属性值)的值,可以确定唯一的B属性的值。则称B依赖于A。
例如:学号—>姓名 ,(学号,课程名称)—>分数
(2)完全函数依赖:A—>B,如果A是一个属性组,则B属性值得确定需要依赖于A属性中所有得属性值。
例如:(学号,课程名称)—>分数
(3)部分函数依赖:A—>B,如果A是一个属性组,则B的属性值的确定只需要依赖于A属性组中某一些值即可。
例如:(学号,课程名称)—>姓名
(4)传递函数依赖:A—>B,B—>C,如果通过A属性(属性组)的值,可以确定唯一B属性的值,再通过B属性(属性组)的值可以确定唯一的C属性的值,则称C传递函数依赖于A。
例如:学号—>系名,系名—>系主任
(5)码:如果在一张表中,一个属性或属性组,被其他所有属性所完全依赖,则称该属性(属性组)为该表的码。
例如:该表中码为:(学号,课程名称)
主属性:码属性组中的所有属性
非码属性:除过码属性组的属性
存在问题:
添加新的数据,数据不合法
数据删除,部分数据也会 起删除