删除的review——数据库 (1)CH6关系数据理论

deleted

 

不好的关系模式可能存在的问题:

1、数据冗余

2、更新异常(update anomalies)

3、插入异常(insertion anomalies)

4、删除异常(deletion anomalies)

一个好的模式应当不会发生后三种异常,数据冗余应尽可能少。

1.函数依赖(Functional Dependency)

设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。

几个相关概念见P180

2.完全函数依赖

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有Y不依赖于X’,则称Y对X完全函数依赖。

非完全函数依赖的函数依赖关系称为部分函数依赖(partial functional dependency)

3.传递函数依赖

在R(U)中,若Y非平凡的函数依赖于X,X不函数依赖于Y,并且Z非平凡的函数依赖于Y。则称Z对X传递函数依赖(transitive functional dependency)

注意这里有“X不函数依赖于Y”的约束条件,若不然,则X、Y互相函数依赖,实际上是Z直接函数依赖于X,是直接函数依赖而不是传递函数依赖。

 

以下用函数依赖的概念来定义码。

1.设K为R<U,F>中的属性或属性组合,若U完全函数依赖于K,则K为R的候选码(candidate key)

若候选码多于一个,则选定其中一个为主码(primary key)

包含在任何一个候选码(注意是候选码而非主码)中的属性称为主属性(prime attribute).

不包含在任何候选码中的属性称为非主属性(nonprime attribute)非码属性(non-key attribute)

整个属性组是码的情况称为全码(all-key).

2.关系模式R种属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码(foreign key)

 

关系数据库中的关系是满足一定要求的,满足不同程度要求的为不同范式

一个低一级范式的关系模式通过模式分解(schema decomposition)可以转换为若干个高一级范式的关系模式的集合,该过程称为规范化(normalization).

2NF:

若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF。

 

posted @ 2018-06-07 22:04  perplex  阅读(263)  评论(0编辑  收藏  举报