Естественное объединение двух отношений с более чем одним общим атрибутом?
Моя актуальная задача: эквивалентны ли следующие два отношения, почему, почему нет? /)
r5: ПРОЕКТ B (R) СОВМЕСТНЫЙ ПРОЕКТ B (U)
R6: ПРОЕКТ B (R JOIN U)
img http://s29.postimg.org/hgfgfmptx/zzz.png
в то время как R(ABC) и U (AB)
Я пришел к выводу, что r5 сгенерирует отношение с одним атрибутом B, содержащим общие значения для B, которые разделяют R и U.
Однако я застреваю на R6. Какие значения B сгенерирует r6? при том, что эти два отношения имеют 2 общих признака.
Большое спасибо!
1 ответ
(Естественно) 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