2017-04-11 109 views
0

我在理解多值依赖方面遇到了一些麻烦。定义是:当一个关系中至少有3个属性(如X,Y和Z)时存在多值依赖关系,对于X的值,存在一组明确定义的Y值和一组明确定义的Z值但是,Y的值集合与Z集合无关,反之亦然。多值的依赖关系?

Suppose we have a relation R(A,B,C,D,E) that satisfies the MVD's 
A →→ B and B →→ D 

MVD在这里如何在A-> B和B-> D中发挥作用?老实说,我不确定在查看示例问题后我是否真的明白了定义。

If R contains the tuples (0,1,2,3,4) and (0,5,6,7,8), what other tuples must 
necessarily be in R? Identify one such tuple in the list below. 


    a)  (0,5,2,3,8) 
    b)  (0,5,6,3,8) 
    c)  (0,5,6,7,4) 
    d)  (0,1,6,3,4) 

我会认为AB是0,1和0,5,BD是1,3和5,7。没有答案有0,1,3,5,7。

+0

您给出*的MVD是什么定义,以及什么*参考*? – philipxy

回答

0

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" 。但是你给(从维基百科)的“定义”没有任何意义。所以我建议你考虑一下你在做什么。