自然加入两个关系超过1个共同属性?

时间:2014-11-26 14:46:32

标签: attributes relational-algebra natural-join

我的实际任务: 以下两个关系是等价的,为什么不呢?/)

  

r5:项目B(R)加入项目B(U)
  r6:项目B(R JOIN U)

img http://s29.postimg.org/hgfgfmptx/zzz.png

而R(ABC)和U(AB)

我得出结论,r5将与单个属性B生成一个关系,其中包含R和U共享的B的公共值。

但是我被困在r6。 B将产生哪些B值?因为这两个关系有两个属性。

非常感谢!

1 个答案:

答案 0 :(得分:0)

(自然)JOIN匹配所有共同属性(相同的属性名称)。

在r5中,B在加入之前投射在R和U上。所以唯一的共同属性是B.(属性A和C中的值会被忽略。)

r5相当于

    SELECT B
      FROM R, U
     WHERE R.B = U.B

在r6中,(R JOIN U)的共同属性是B A.因此,该连接的结果只有来自R和U的元组具有两者 A和B.

r6相当于:

    SELECT B
      FROM R, U
     WHERE R.B = U.B AND R.A = U.A