📜  DBMS 中的多值依赖 (MVD)

📅  最后修改于: 2021-09-09 11:47:15             🧑  作者: Mango

MVD 或多值依赖意味着对于属性“a”的单个值,属性“b”的多个值存在。我们把它写成,

a --> --> b 

读作:a 是多值依赖于 b。

假设一个名叫 Geeks 的人正在从事 Microsoft 和 Oracle 两个项目,并且有两个爱好,即阅读和音乐。这可以通过以下方式以表格格式表示。

Project 和 Hobby 是多值属性,因为它们对一个人(即 Geeks)具有不止一个值。

多值依赖(MVD):
如果满足以下条件,我们可以说存在多值依赖。

MVD 条件:
任何属性说a倍数定义另一个属性 b;如果存在任何法律关系 r(R),则对于 r 中的所有元组 t1 和 t2 对,使得,

t1[a] = t2[a] 

那么在 r 中存在 t3 和 t4 使得。

t1[a] = t2[a] = t3[a] = t4[a]
t1[b] = t3[b]; t2[b] = t4[b] 
t1 = t4; t2 = t3 

然后存在多值 (MVD) 依赖性。

要检查给定表中的 MVD,我们应用上述条件并使用给定表中的值进行检查。

MVD 的条件 1 –

t1[a] = t2[a] = t3[a] = t4[a] 

从表中查找,

t1[a] = t2[a] = t3[a] = t4[a] = Geeks 

因此,满足条件 1。

MVD 的条件 2 –

t1[b] = t3[b] 
And 
t2[b] = t4[b] 

从表中查找,

t1[b] = t3[b] = MS 
And 
t2[b] = t4[b] = Oracle 

因此,条件 2 满足。

MVD 的条件 3 –

t1 = t4 
And  
t2=t3 

从表中查找,

t1 = t4 = Reading 
And
t2 = t3 = Music 

因此,满足条件 3。

所有条件都满足,因此,

a --> --> b 

根据我们得到的表格,

name --> --> project 

而对于,

a --> --> C 

我们得到,

name --> --> hobby 

因此,我们知道 MVD 存在于上表中,并且可以表示为,

name --> --> project
name --> --> hobby