Как вычислить естественное соединение?
-
23-08-2019 - |
Вопрос
Может ли кто-нибудь объяснить мне, что здесь происходит и как решить эту проблему?
Предположим, что отношение 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 |> <| Сб.Вы можете предположить, что каждый кортеж имеет схему (A,B,C,D).
Я не знаю, что на самом деле означает естественное соединение.Можете ли вы объяснить это мне?
Решение
Естественное соединение — это соединение («склеивание») элементов двух отношений, в которых есть совпадение.В этом примере
- (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)}
Другие советы
Я предполагаю, что R(A,B) — главный, S(B,C,D) — деталь, а B — внешний ключ.
SQL:выберите * из R, S, где R.B = S.B
Тогда результат:
А Б В Г
1 2 4 6
3 4 6 8
3 4 7 9