数据库知识点汇总(四)

函数依赖

设一个关系为R(U),X和Y为属性集U上的子集,若对于X上的每个值都有Y上的一个唯一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作X→Y,称X为决定因素。

 A有不同值,故A可决定B,也可以决定C;B有2和3的取值,当B值相同时,C都是3,故B可决定C;C取3的时候,A的值都不同,B的值也存在不唯一的情况,故C不可以决定任何属性。

部分 或 完全函数依赖

设一个关系为R(U),X和Y为属性集U上的子集,若存在X→Y,同时X的一个真子集X’也能够函数决定Y,即存在X’→Y,则称X→Y的函数依赖为部分函数依赖,或者说,,部分函数决定Y,Y部分函数依赖于X;否则若在X中不存在一个真子集X’,使得X’也能够函数决定Y,则称X完全函数决定Y,或Y完全函数依赖于X。X→Y的部分函数依赖也称为局部函数依赖。

传递函数依赖

一个关系R(U),X,Y,Z为属性集U上的子集,其中存在X→Y和Y→Z,但Y不决定X,同时Y不包含Z,则存在X→Z,即X传递函数决定Z,Z传递函数依赖于X
注意:在这里强调的是Y不反过来函数决定X,因为如果X→Y,同时Y→X,则X和Y为相互决定的函数依赖关系,记做“X←→Y”,这样X和Y是等价的,在函数依赖中是可以相互转化的,X→Z就是直接函数依赖,而不是传递函数依赖了。

候选键 vs. 超键

一定要记住,候选键必须满足 唯一性 最少性 的要求。而超键不需要满足最少性。

外键

关系的四大范式

1NF 属性的原子性

若关系模式R(U)中关系的每个分量都是不可分的数据项(值、原子),则称 R(U)属于第一范式。

也就是每一个属性不能出现 组合(复合)的形式。

2NF 属性完全依赖于主键

若R(U)属于1NF 且 U中的每一非主属性完全函数依赖候选键,则称R(U)属于第二范式,记为:R(U)属于2NF。

3NF 消除非主属性对候选键的传递依赖

第三范式就是属性不依赖与其他非主属性,也就是说,如果存在非主属性对于候选码的传递函数依赖,则不符合第三范式

例如:

BCNF 范式 每一个决定因素都包含候选键

只要属性或属性组A能够决定任何一个属性B,则A的子集中必须有候选键。BCNF范式排除了任何属性(不光是非主属性,2NF和3NF所限制的都是非主属性)对候选键的传递依赖与部分依赖。

 

Guess you like

Origin blog.csdn.net/weixin_41960890/article/details/115106616