Как вычислить естественное объединение? - PullRequest
2 голосов
/ 13 февраля 2009

Может ли кто-нибудь объяснить мне, что здесь происходит и как решить эту проблему?

Предположим, что отношение R (A, B) имеет кортежи:

A B
1 2
3 4
5 6

и отношение S (B, C, D) имеет кортежи:

B C D
2 4 6
4 6 8
4 7 9

Вычислите естественное соединение R и S. Затем определите, какой из следующих кортежей находится в естественное соединение
R |> <| S. Вы можете предположить, что каждый кортеж имеет схему (A, B, C, D). </p>

Я не знаю, что на самом деле означает естественное соединение. Вы можете мне это объяснить?

Ответы [ 2 ]

11 голосов
/ 13 февраля 2009

Естественное соединение - это объединение («слипание») элементов из двух отношений, где есть совпадение. В этом примере

  • (1, 2 ) совпадений ( 2 , 4, 6), поэтому вы получите (1, 2, 4, 6)
  • (3, 4 ) совпадений ( 4 , 6, 8), поэтому вы получите (3, 4, 6, 8)
  • (3, 4 ) совпадений ( 4 , 7, 9), поэтому вы получите (3, 4, 7, 9)

Итак, естественное соединение: {(1, 2, 4, 6), (3, 4, 6, 8), (3, 4, 7, 9)}

1 голос
/ 13 февраля 2009

Я предполагаю, что R (A, B) - это главный, S (B, C, D) - это деталь, а B - внешний ключ.

SQL: выберите * из R, S, где R.B = S.B

Тогда результат:

A B C D

1 2 4 6

3 4 6 8

3 4 7 9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...