СУБД - Присоединяется

Мы понимаем преимущества декартова произведения двух отношений, которое дает нам все возможные кортежи, объединенные вместе. Но в некоторых случаях для нас может оказаться невозможным взять декартово произведение, где мы сталкиваемся с огромными отношениями с тысячами кортежей, имеющих значительное количество атрибутов.

Joinпредставляет собой сочетание декартова произведения, за которым следует процесс выбора. Операция соединения объединяет два кортежа из разных отношений тогда и только тогда, когда выполняется заданное условие соединения.

Мы кратко опишем различные типы соединений в следующих разделах.

Тета (θ) Присоединиться

Тета-соединение объединяет кортежи из разных отношений при условии, что они удовлетворяют тета-условию. Условие соединения обозначается символомθ.

Обозначение

R1 ⋈θ R2

R1 и R2 - это отношения, имеющие атрибуты (A1, A2, .., An) и (B1, B2, .., Bn), такие, что атрибуты не имеют ничего общего, то есть R1 ∩ R2 = Φ.

Тета-соединение может использовать все виды операторов сравнения.

Студент
SID название Стандартное
101 Alex 10
102 Мария 11
Предметы
Класс Тема
10 Математика
10 английский
11 Музыка
11 Спортивный

Student_Detail -

STUDENT Student.Std = Subject.Class SUBJECT

Student_detail
SID название Стандартное Класс Тема
101 Alex 10 10 Математика
101 Alex 10 10 английский
102 Мария 11 11 Музыка
102 Мария 11 11 Спортивный

Equijoin

Когда Theta join использует только equalityоператор сравнения, он называется эквисоединением. Приведенный выше пример соответствует equijoin.

Естественное соединение ( )

Естественное соединение не использует никаких операторов сравнения. Он не объединяет, как декартово произведение. Мы можем выполнить естественное соединение, только если между двумя отношениями существует хотя бы один общий атрибут. Кроме того, атрибуты должны иметь одинаковое имя и домен.

Естественное соединение действует на те совпадающие атрибуты, где значения атрибутов в обоих отношениях одинаковы.

Курсы
CID Курс Отдел
CS01 База данных CS
ME01 Механика МНЕ
EE01 Электроника EE
HoD
Отдел Голова
CS Alex
МНЕ майя
EE Мира
Курсы ⋈ HoD
Отдел CID Курс Голова
CS CS01 База данных Alex
МНЕ ME01 Механика майя
EE EE01 Электроника Мира

Внешние соединения

Theta Join, Equijoin и Natural Join называются внутренними соединениями. Внутреннее соединение включает только те кортежи с соответствующими атрибутами, а остальные отбрасываются в результирующем отношении. Следовательно, нам нужно использовать внешние объединения, чтобы включить все кортежи из участвующих отношений в результирующее отношение. Существует три вида внешних соединений: левое внешнее соединение, правое внешнее соединение и полное внешнее соединение.

Левое внешнее соединение (R
S)

Все кортежи из отношения Left, R, включаются в результирующее отношение. Если в R есть кортежи без какого-либо совпадающего кортежа в правом отношении S, то S-атрибуты результирующего отношения становятся NULL.

Осталось
А B
100 База данных
101 Механика
102 Электроника
Правильно
А B
100 Alex
102 майя
104 Мира
Курсы
HoD
А B C D
100 База данных 100 Alex
101 Механика --- ---
102 Электроника 102 майя

Правое внешнее соединение: (R
S)

Все кортежи из отношения Right, S, включаются в результирующее отношение. Если в S есть кортежи без какого-либо совпадающего кортежа в R, то R-атрибуты результирующего отношения становятся NULL.

Курсы
HoD
А B C D
100 База данных 100 Alex
102 Электроника 102 майя
--- --- 104 Мира

Полное внешнее соединение: (R
S)

Все кортежи из обоих участвующих отношений включаются в результирующее отношение. Если для обоих отношений нет совпадающих кортежей, их соответствующие несовпадающие атрибуты становятся NULL.

Курсы
HoD
А B C D
100 База данных 100 Alex
101 Механика --- ---
102 Электроника 102 майя
--- --- 104 Мира