我的实际任务: 以下两个关系是等价的,为什么不呢?/)
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值?因为这两个关系有两个属性。
非常感谢!
答案 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