2016.5.27关系数据库的规范化理论

谁说我不能喝 提交于 2019-12-17 05:15:49

1.关系模式应当是一个五元组

R(U,D,DOM,F)

关系名R

U为一组属性

D为属性组U中的属性所来自的域

DOM为属性到域的映射

F为属性组U上的一组数据依赖(数据依赖是关系内部属性与属性之间的一种约束关系,这种约束关系是通过属性间值的相等与否体现出来的数据间相关联系)

 

2.数据依赖:

①函数依赖(FD):学号确定后,学生的姓名及所在系的值也被唯一地确定了,类似于y=f(x)

对于关系模式R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不相等,记作X->Y

非平凡的函数依赖:X->Y,但是Y不属于X

平凡的函数依赖:X->Y,但Y属于X,对于任一关系模式,平凡依赖都是必然成立的。

完全函数依赖:X->Y,并且对于X的任何一个真子集X',X‘不能推出Y。(s#,c#)->Grade,s#和c#必须同时存在,才能推出G

部分依赖:X->Y,但是Y不完全依赖于X。(s#,c#)->Sname,c#不是必须的,s#单独也可以推出Sname属性值。

传递函数依赖:X->Y(Y不属于X),Y->Z(Z不属于Y),可以的得到Z->X。

 

②多值依赖(MVD):关系模式R(U),U是属性集,在U(X,Y,Z)中,当一对(X,Z)值可以对应一组Y值时,Y值仅仅取决于X值,而与Z值无关。即表示为,X->->Y。

 3.码

候选码:

定义①:若关系中某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。

定义②:关系模式R(U,F)中,若K为R(U,F)中的属性或者属性组合,并且K->U(依据数据依赖F),则K为R的候选码。U是完全依赖于K,而不是部分依赖于K。

 

超码:U部分依赖于K时,K->U(依据部分函数依赖P),则K称为超码。候选码是最小的超码。

外码:关系模式R中的属性或属性组X不是R的码,但是X是另一个关系模式的码,则称X是R的外码。

 

若一个关系有多个候选码,则选定其中一个为主码。

在最简单的情况下,候选码只包含一个属性;在最极端的情况下,关系模式所有属性是这个关系模式的候选码,称为全码。

 

4.第一范式(1NF):每一个分量必须是不可分的数据项

5.5NF属于4NF属于BCNF属于3NF属于2NF属于1NF

6.规范化:一个低一级范式的关系模式可以通过模式分解,转换为若干个高一级范式的关系模式的集合,这种过程叫做规范化。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!