gpt4 book ai didi

database - 多值依赖冲突?

转载 作者:搜寻专家 更新时间:2023-10-30 21:53:14 24 4
gpt4 key购买 nike

我对违反 mvd 感到困惑,只是我想不出任何违反 mvd 的东西,例如有 A B C 三列,每一行都是一个元组

A B C

a2 b2 c1
a1 b1 c2
a1 b1 c3
a2 b3 c1

B->>C 和 B->>A 是吗?

谢谢

最佳答案

MVD 就像 FD 一样,是一个规则。它是否适用于您的业务案例,您需要检查要求和/或规范才能知道。

您无法通过查看示例数据(也适用于 FD)知道它是否适用。

查看示例数据只能告诉您,“如果规则适用,则此数据将有效/无效”,或“如果此数据必须有效,则某些特定的 MVD 规则肯定不会适用”。

现在这样的 MVD 规则确切地说明了什么?

首先看看 FD 确切地是怎么说的。 FD 指出,对于某个 [set of] attribute[s](FD 的左侧),某些特定的 [combination of] value[s] 不可能与多个 [combination of] 相关联FD 右侧属性的不同值 [s]。

A->B确实意味着对于所有属性值对(a1,b1)和(a2,b2),它认为a1=a2 ===> b1=b2。

MVD 是 FD 的概括,因为它没有声明个体 B 值必须与 A 值相关联/由 A 值确定,而是声明集合 B 值必须与 A 值相关联/由 A 值确定。

(警告:在这里从 A/B 切换到 B/C!)

在您的示例中,b2 与集合 {c1}“关联”,值 b1 与集合 {c2,c3}“关联”。现在,如果 MVD B->>C 确实适用,那么除非行 a4、b1、c3 也同时出现,否则行 a4、b1、c2 应该不可能出现在您的表中。同样,如果您有另外两行,并且添加 a1、b1、c4,这会将 c4“添加”到由值 b1“多重确定”的值集中,因此,您的 MVD 将被违反,除非您还要添加 a4,b1,c4。

关于database - 多值依赖冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com