首页 理论教育多值依赖与关系的第四范式

多值依赖与关系的第四范式

【摘要】:要想消除此类问题,需要研究多值依赖及相关的范式理论。图2—1JPW数据实例表2—3JPW的一个关系2.多值依赖的定义和性质定义2-8:设有关系模式R,U是属性集,X、Y是U的子集。由多值依赖的定义可知,在上述的JPW关系模式中:产品→→零件;零件→→工序。函数依赖和多值依赖是两种最重要的数据依赖。

1.研究多值依赖的必要性

下面先通过一个具体实例来观察含有多值依赖的关系模式会出现什么问题。

例如,给定一个关系模式JPW(产品,零件,工序),其中每种产品由多种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零件和工序如图2-1所示。

将图2-1中的数据输入到JPW关系中,如表2-3所示。可以看出,数据冗余十分明显。但该表由于不存在函数依赖,并且是全码,所以JPW属于BC NF。这说明属于BC NF的关系仍然会存在一些问题。要想消除此类问题,需要研究多值依赖及相关的范式理论。

图2—1 JPW数据实例

表2—3 JPW的一个关系

2.多值依赖(Multivalued Dependency)的定义和性质(www.chuimin.cn)

定义2-8:设有关系模式R(U),U是属性集,X、Y是U的子集。如果R的任一关系,对于X的一个确定值,都存在Y的一组值与之对应,且Y的这组值又与Z=U-X-Y中的属性值不相关,此时称Y多值依赖于X,或X多值决定Y,记为X→→Y。

由多值依赖的定义可知,在上述的JPW关系模式中:产品→→零件;零件→→工序。

3.4 NF的定义

定义2-9:关系模式R(U,F)∈1 NF,如果对于R的每个非平凡多值依赖X→→Y(YX),X必含有码,则称R(U,F)∈4 NF。

4 NF限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。根据定义,4 NF要求每一个非平凡的多值依赖X→→Y,X都含有候选码,则必然是X→Y,所以4 NF所允许的非平凡多值依赖实际上是函数依赖。显然.如果一个关系模式属于4 NF,则必然也属于BC NF。

对于前面提到的JPW模式,由于它为全码且存在产品→→零件、零件→→工序,而产品和零件都不包含码,故JPW∉4NF。如果将它分解为JP(产品,零件)和PW(零件,工序),则JP∈4NF;PW∈4NF。

函数依赖和多值依赖是两种最重要的数据依赖。如果只考虑函数依赖,则BC NF是最高的关系模式范式;如果考虑了多值依赖,则4 NF是最高的关系范式。

数据依赖中除函数依赖和多值依赖外,还存在着连接依赖。连接依赖是与关系分解和连接运算有关的数据依赖,连接依赖是研究5 NF的理论基础。