【发布时间】:2016-09-27 15:54:40
【问题描述】:
我正在阅读维基百科的this page。为多值依赖项提供了一些属性。但是没有给出以下属性。
A→→BC比,A→→B和A→→C(→→这表示多值依赖。)
我不确定 Armstrong Axiom 的这个属性是否对多值依赖有效。任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: java database relational-algebra
我正在阅读维基百科的this page。为多值依赖项提供了一些属性。但是没有给出以下属性。
A→→BC比,A→→B和A→→C(→→这表示多值依赖。)
我不确定 Armstrong Axiom 的这个属性是否对多值依赖有效。任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: java database relational-algebra
Armstrong 公理仅适用于函数依赖,而不适用于多值依赖(实际上在 wiki 页面中您可以看到,即使它们有时具有相同的名称,属性也不同)。
特别是,分解规则(您问题中的属性)不成立形成多值依赖关系。
这在几本数据库书籍中都有讨论。例如,Garcia-Molina 的书“数据库系统:全书”中有一个关于此的示例。第 2 版。新泽西州上萨德尔河,Pearson Prentice Hall,2009 年,第 109 页。这里介绍了有关好莱坞明星的关系,以及他们的(多个)地址和(多个)片名以及他们的电影年份。所以关系有属性:
(name, street, city, title, year)
使用 MVD:
name →→ street, city (a star can have multiple addresses)
name →→ title, year (a star can have multiple movies)
从这些依赖关系中,您无法推断,例如:
name →→ street
name →→ city
因为你失去了明星地址的街道和城市之间的关系。
【讨论】: