数据库问题:什么是多值函数依赖?

数据库问题:什么是多值函数依赖?,第1张

函数依赖:设

R

(U)

是一个关系模式,

U

R

属性集合,

X

Y

U

的子集。对于

R

(U)

的任意一个可能的关系

r

,如果

r

中不存在两个元组,它们在

X

上的属性值相同,

而在

Y

上的属性值不同,

则称“

X

函数确定

Y"

或“

Y

函数依赖于

X"

,记作

X

Y

*

解析:

1

函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。

2

)函数依赖是属性之间的一种联系,体现在属性值是否相等。由上面的定义可以知道,如果

X

Y

,则

r

中任意两个元组,若它们在

X

上的属性值相同,那么在

Y

上的属性值一定也相同。

3

)我们要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。

4

)函数依赖不是指关系模式

1、符合的范式不同:

多值依赖属4nf(第四范式)的定义范围,比函数依赖要复杂得多。在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。

2、对属性的依赖不同:

在函数依赖中,X与Y是否存在函数依赖关系,只需考察X,Y的两组属性,与别的属性无关。而在多值依赖中,X与Y是否存在多值依赖还需看属性Z。

扩展资料:

多值依赖的性质:

对称性:使用上述定义的符号,若X→→Y,则X→→Z 。实例r的X或Z每增删一个值,r就须同步增删多条记录。若X→Y,则X→→Y。故可把函数依赖看成多值依赖的特款。

多值依赖的特点:

允许X的一个值决定Y的一组值,这种决定关系与Z取值无关。多值依赖是全模式的依赖关系。多值依赖的缺点是数据冗余太大。

函数依赖的特点:

不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。数据库设计者可以对现实世界作强制的规定。

参考资料来源:百度百科-4NF

参考资料来源:百度百科-函数依赖

参考资料来源:百度百科-多值依赖

数学定义: 设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。

多值依赖属4nf的定义范围,比函数依赖要复杂得多,很多书上都没有讲清楚。

说得简单点就是

在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。例如,教师和学生之间没有直接联系,但教师和学生可通过系名,或任课把教师和学生联系起来。 举例如下,有这样一个关系 <仓库管理员,仓库号,库存产品号>,假设一个一个产品只能放到一个仓库中,但是一个仓库可以由若干管理员,那么对应于一个 <仓库管理员,库存产品〉有一个仓库号,而实际上,这个仓库号只与库存产品号有关,与管理员无关,就说这是多值依赖。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6631801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存