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的定义范围,比函数依赖要复杂得多,很多书上都没有讲清楚。
说得简单点就是
在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。例如,教师和学生之间没有直接联系,但教师和学生可通过系名,或任课把教师和学生联系起来。 举例如下,有这样一个关系 <仓库管理员,仓库号,库存产品号>,假设一个一个产品只能放到一个仓库中,但是一个仓库可以由若干管理员,那么对应于一个 <仓库管理员,库存产品〉有一个仓库号,而实际上,这个仓库号只与库存产品号有关,与管理员无关,就说这是多值依赖。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)