DBMS中的多值依赖
什么是多值依赖?
当表中存在一个或多个行时,意味着同一表中存在一个或多个其他行,则发生多值依赖关系。
如果表具有属性P,Q和R,则Q和R是P的多值事实。
用双箭头表示-
对于我们的示例:
P->->R
在上述情况下,仅当Q和R是独立属性时,才存在多值依赖关系。
具有多值依赖关系的表违反了4NF。
示例
让我们看一个例子&mins;
<学生>
在上表中,我们可以看到StudentAmit 和Akash 对不止一项活动感兴趣。
这是多值依赖关系,因为学生的CourseDiscipline 独立于“活动”,但依赖于学生。
因此,多值依赖关系-
StudentName->->活动
上述关系违反了归一化中的第四范式。
要更正它,请将表分为两个单独的表,然后中断多值依赖关系-
<StudentCourse>
<学生活动>
这打破了多值依赖关系,现在我们有了两个功能依赖关系-
StudentName->活动