数据库中什么是多值依赖
更新:HHH   时间:2023-1-7


今天就跟大家聊聊有关数据库中什么是多值依赖,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

“多值依赖” 是一个断言, 指的是两个属性或属性集相互独立。这种情况是函数依赖概念的广义形式, 意味着每个函数依赖都包含一个相应的多值依赖。 然而, 涉及属性集独立性的某些情况, 不能解释为函数依赖。在本文天达云将与您一起寻找产生多值依赖的原因, 看看如何把多值依赖用于数据库模式设计。

属性的独立性及其带来的冗余偶尔会遇到这样的情况, 我们设计一个关系模式并发现它属于 BCN F , 但该关系 依然有和函数依 赖无关的某种冗余。BCNF模式中存在冗余, 最常见的原因是, 当我 们把 ODL 模式转换成关系模式时, 某个类的两个或多个多值属性的独立性。

“多值依赖”是关于某个关系R的陈述, 其含义是如果确定了R的一个属性集的取值, 则其他某些特定属性的取值与该关系的所有其他属性的取值无关。更确切地说, 如果我们自己限定R 的元组在属于 A 的每个属性上取某特定的值, 结果属于 B 的属性取值的集合与既不属于 A 也不属于 B 但属于 R 的属性取值的集合无关, 则我们称多值依赖A 1 A 2 ;A n ; B1 B 2 ;Bm在关系 R 中成立。再确切些, 如果对于关系R中在 A 的所有属性上取值一致的每对元组t 和 u , 我们可以在 R 中找到某个元组 v , 满足:

1. 和 t , u 在 A 上取值一致,

2. 和 t 在 B 上取值一致, 而且

3. 和 u 在除了 A 和 B 之外 R 的所有属性上取值一致。则我们称这个多值依赖成立。

注意, 上面的规则中 t 和 u 可以交换, 意味着存在第四个元组 w , 它和 u 在 B 上一致,和 t 在其他属性上一致。结果是, 对于 A 的任何固定值, B 和其他属性的相关值在不同的元组中以所有可能的组合出现。

通常, 我们可能假设多值依赖的A和B中的属性( 左边和右边) 是分开的。 然而, 和函数依赖一 样, 如果 我们愿 意, 也 允 许 A 中 的某些属性出现在右边。 还要注意, 函数依赖中我们从右边只有一个属性开始, 并且允许右边为属性集的简化形式, 在这一点上, 多值依赖与函数依赖不同, 我们必须直接考虑右边为属性集的情况。

看完上述内容,你们对数据库中什么是多值依赖有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注天达云行业资讯频道,感谢大家的支持。

返回数据库教程...