MVD(多值依赖)与“至少3个属性”无关。 (您似乎引用了维基百科的文章,但非正式的定义部分是错误的,部分是无法理解的。)您需要阅读并思考一个清晰,准确和正确的定义。 (您可能会得到这个答案)
MVD X↠Y提到了所有属性集合S中的两个子集,X & Y.有很多方法可以定义MVD在关系中的状态,但最简单的状态&设想可能是两个投影XY和X(SY)加入到原始关系中。其中还提到了第三个子集S-Y。 (二元)JD(连接依赖){XY,X(S-Y)}是什么意思。
维基百科(尽管这制品是一团糟):
- 为R的分解成(X,Y)和(X,R-Y)是一种无损联接分解当且仅当X↠y成立于R.
从this answer:
的MVD总是在对秒。假设MVD X↠Y与属性S保持关系,归一化为组件XY & X(S-Y)。请注意,S-XY是非X非Y属性的集合,并且X(S-Y)= X(S-XY)。然后还有一个MVD X↠S-XY,归一化为X(S-XY)& X(S-(S-XY)),即X(S-XY)& XY,即X(SY)& XY 。为什么?请注意,两个MVD都提供相同的组件对。即两个MVD都描述相同的条件,即S = XY JOIN X(S-XY)。所以当MVD成立时,该伙伴也持有。我们可以使用特殊的显式&对称符号X↠Y |来写出每个MVD表示的条件。 S-XY。
对于R =
A,B,C,D,E
0,1,2,3,4
0,5,6,7,8
...
甲↠乙告诉我们,以下加入到R:
A,B A,C,D,E
0,1 0,2,3,4
0,5 0,6,7,8
... ...
所以R具有至少
其中两个
A,B,C,D,E
0,1,2,3,4
0,1,6,7,8
0,5,2,3,4
0,5,6,7,8
的给出,两个是新的但不是选择。
乙↠d告诉我们,下面的加盟R:
B,D A,B,C,E
1,3 0,1,2,4
5,7 0,5,6,8
... ...
所以R有至少
A,B,C,D,E
0,1,2,3,4
0,5,6,7,8
,我们已经知道了。
所以我们还不知道任何的选择是否是R.但是现在我们知道R是
A,B,C,D,E
0,1,2,3,4
0,1,6,7,8
0,5,2,3,4
0,5,6,7,8
...
重复,A↠B加上没有新的元组,但乙↠d现在给出了这样的加入:
B,D A,B,C,E
1,3 0,1,2,4
1,7 0,1,6,8
5,3 0,5,2,4
5,7 0,5,6,8
... ...
而且加入的元组之一是选择b) (0,5,6,3,8)
。
这个问题的表达方式,他们可能希望你使用他们给你的定义,就像维基百科中的另外两个一样。一说,α↠β保持作为R时
- [...]如果我们表示由(x,Y,Z),具有用于α的值元组,β,R - α - β统称等于到x,y,z,那么每当元组(a,b,c)和(a,d,e)存在于r中时,元组(a,b,e)和(a,d,c)也应该存在在r。
(唯一的意义上,这给了“更简单的话”中的“正式”的定义是,这是也定义。因为这实际上不是意译,因为这种使用[R - α - β,而它使用R - β。)
通过应用此规则从给定值开始重复生成R的元组,我们最终生成b) (0,5,6,3,8)
,就像我们上面做的那样。
PS我通常会建议你回顾导致你期望“AB是0,1和0,5和BD是1,3和5,7”(不管是什么意思)或“ 0,1,3,5,7" 。但是你给(从维基百科)的“定义”没有任何意义。所以我建议你考虑一下你在做什么。
您给出*的MVD是什么定义,以及什么*参考*? – philipxy