数据范式的理解与解析技巧

对于数据库范式首先还是要对几个范式的理解:

(1)1NF范式:符合1NF的关系中的每个属性都不可再分

(2)2NF范式:2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖

(3)3NF范式:3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖

(4)4NF范式:4NF在 3NF 的基础上消除主属性对于码的部分与传递函数依赖

 

以下为定义中的一些名词解释:

(1)部分函数依赖

举例:(学号,课名)=>学生姓名,学号决定了学生姓名,存在非主属性学生姓名对于码(学号,课名)的部分函数依赖。

一般我喜欢画图表示

 

(A,B)属于码,C属于非主属性,C依赖于A,即C对于码(A,B)部分函数依赖

(2)传递函数依赖

 举例:学号=》系名,系名=》系主任,此时学号间接也就决定了系主任,存在非主属性系主任对于码学号的传递函数依赖。

 

 

A属于码,B,C属于非主属性,存在C对于A的传递函数依赖

另外还有主属性对于码的部分函数依赖。

若(A,C)(B,C)都为主码但存在B依赖于A。

(3)完全函数依赖

举例(学号,课名)=>成绩,成绩由学号和课名共同决定。或者学号=》姓名,学号决定了姓名。

 

posted @ 2018-03-08 11:33  王家小西  阅读(285)  评论(0编辑  收藏  举报