什么是多值依赖(DBMS)?
多值依赖(MVD)在表中存在一行或多行。多值依赖会阻止第四范式。它至少涉及一个表的三个属性。它是关系中两组属性之间的约束。
它在数据库管理系统(DBMS)中用符号“->->”表示。
我们以两种不同的方式使用多值条件-
测试关系以决定它们在给定的实际和多值依赖关系下是否合法。
确定对合法关系安排的限制。我们将只关心满足实际和多值依赖关系的给定安排。
示例
考虑一个演示多值依赖的示例-
让我们考虑一个关系模式R(A,B,C,D),多值依赖A→→BC在逻辑上是否意味着多值依赖A→→B和A→→C?如果是,证明,否则举反例。
解决方案
A-->BC是A-->B|C
也就是说,A-->B和A-->C都可以容纳。(函数依赖推理规则中的联合规则)
符号A-->BC总是有用的,因为多值依赖总是成对出现。这意味着该关系等于ABJOINAC。即关系满足连接依赖{AB,AC}。
推理规则的联合规则如下-
A-->B,A-->C==>A-->BC
证明
A→B(给定)
A→C(给定)
A→AB(通过A增强。其中AA=A)
AB→BC(用B增广)
A→BC(对3和4使用传递规则)
MVD传递规则
让我们试着理解MVD传递规则的证明-
如果A->B成立,B->C成立,则A->B->C成立。
给定的函数依赖(FD)集如下-
ISBN-->书名,出版商
ISBN,否-->作者
发布者-->PU_URL
我们需要证明这个规则。考虑A=ISBN、B=PUBLISHER、C=PU_URL。
要找到隐含的传递规则,请找到A+的覆盖并计算。
现在从x={ISBN}开始
FDISBN-->TITLE,PUBLISHER具有完全包含在当前属性集x中的LHS。
通过FDRHS属性集扩展x,给出x={ISBN,TITLE,PUBLISHER}
现在FD:PUBLISHER-->PU_URL适用
将FD的RHS属性集添加到当前属性SETx,给出x={ISBN,TITLE,PUBLISHER,PU_URL}
这里我们可以得出结论ISBN-->PU_URL