关系数据库规范化理论 函数依赖与范式理论

关系模式能够形式化地表示为R(U,D,dom,F); U:属性集,D:表示属性的域,dom:属性像域的映射集合,F:表示属性之间数据的依赖关系集合。
数据库

1.函数依赖分为如下几种:dom

           函数依赖定义:假设有关系模式R(U),X和Y都是U的子集,若是R(U)中任一可能的关系r中,不存在两行记录在X上的值相同而在Y上的值不一样,则称属性子集X函数决定属性子集Y,或者称Y函数依赖于X,记为X->Y.
函数

         (1)平凡函数依赖与非平凡函数依赖:在关系模式R(U)中,对于U的子集X和Y,若是X——>Y,可是Y不是X的子集,则称X->Y是非平凡函数依赖,若Y是X的子集,则称X->Y是平凡函数依赖。设计

         提示:对于任一关系模式,平凡函数依赖都是必然成立的。教程

         (2)彻底函数依赖与部分函数依赖:在关系模式R(U)中,若是X->Y,而且对于X的任何一个真子集XX,都有XX不决定Y,则称Y彻底函数依赖于X,记做X-(F)Y。若是X->Y,但Y不彻底函数依赖于X,则称Y部分函数依赖于X记做X(P)Y。基础

         提示:若是Y对X部分函数依赖,X中的“部分”就能够肯定对Y的关联,从数据依赖的观点来看,X中存在“冗余”属性。实际上,部分依赖与传递依赖是产生冗余和异常的两个重要缘由。qq

        (3)传递函数依赖数据

          在关系模式R(U)中,若是X->Y,Y->Z,且Y不决定X,Z不属于X,则称Z传递函数依赖于X,记做X->(T)Z。异常

          提示:传递函数依赖定义中之因此要加上条件Y不决定X,是由于若是Y->X,则X<->Y,这其实是Z直接依赖于X,也就是直接函数依赖,而不是传递函数依赖。注释

2范式理论:

         第一范式1NF:要求属性不可分,第一范式是设计数据库表的最低要求。如联系方式 :电环:XXX;邮箱:liu@qq.com。这个就不符合1NF。

        第二范式2NF:要求在知足1NF基础上,每一个非主属性彻底函数依赖于候选键。

        第三范式3NF:要求在知足2NF基础上,关系模式R(U,F)中的全部非主属性对任何候选键都不存在传递依赖。则称关系R是属于第三范式的模式。




注释:此文参考了杨少敏和王红敏编写的Oracle11g教程。