Объединения СУБД: внутренние, THETA, внешние, равноправные типы соединений. Operaных

Что такое объединение в СУБД?

Присоединяйтесь к СУБД — это бинарная операция, которая позволяет объединить произведение соединения и выбор в одном операторе. Цель создания условия соединения состоит в том, чтобы помочь вам объединить данные из двух или более таблиц СУБД. Таблицы в СУБД связаны с помощью первичного ключа и внешних ключей.

Типы присоединения

В СУБД в основном существует два типа объединений:

  1. Внутренние соединения: тета, естественное, EQUI.
  2. Внешнее соединение: левое, правое, полное

Давайте посмотрим на них подробно:

Внутреннее соединение

Внутреннее соединение используется для возврата строк из обеих таблиц, удовлетворяющих заданному условию. Это наиболее широко используемая операция соединения, и ее можно рассматривать как тип соединения по умолчанию.

Внутреннее соединение или эквивалентное соединение — это соединение на основе компаратора, которое использует сравнения на равенство в предикате соединения. Однако если вы используете другие операторы сравнения, например «>», это нельзя назвать эквивалентным соединением.

Внутреннее соединение далее делится на три подтипа:

  • Тета присоединиться
  • Естественное соединение
  • Присоединение к EQUI

Тета Присоединяйтесь

Тета Присоединяйтесь позволяет объединить две таблицы на основе условия, представленного тетой. Тета объединяет работу всех операторов сравнения. Он обозначается символом θ. Общий случай операции JOIN называется тета-соединением.

Синтаксис:

A ⋈θ B

Theta join может использовать любые условия в критериях выбора.

Рассмотрим следующие таблицы.

Таблица A Таблица B
столбец 1 столбец 2 столбец 1 столбец 2
1 1 1 1
1 2 1 3

Например:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.столбец 2 > B.столбец 2 (B)
столбец 1 столбец 2
1 2

EQUI Присоединяйтесь

EQUI Присоединяйтесь выполняется, когда Тета-соединение использует только условие эквивалентности. Соединение EQUI — самая сложная для эффективной реализации операция в RDBMSи одна из причин, почему у СУБД возникают существенные проблемы с производительностью.

Например:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.столбец 2 = B.столбец 2 (B)
столбец 1 столбец 2
1 1

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

Естественное соединение не использует ни один из операторов сравнения. В этом типе соединения атрибуты должны иметь одно и то же имя и домен. В естественном соединении между двумя отношениями должен быть хотя бы один общий атрибут.

Он выполняет выборку, формирующую равенство для тех атрибутов, которые присутствуют в обоих отношениях, и устраняет повторяющиеся атрибуты.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

Рассмотрим следующие две таблицы

C
В Площадь
2 4
3 9
D
В Cubo,en
2 8
3 18
C ⋈ D
С ⋈ Д
В Площадь Cubo,en
2 4 8
3 9 18

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

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

Три типа внешних соединений:

  • Левое внешнее соединение
  • Правое внешнее соединение
  • Полное внешнее соединение

Левое внешнее соединение (A ⟕ B)

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

Левое внешнее соединение

Рассмотрим следующие 2 таблицы

A
В Площадь
2 4
3 9
4 16
B
В Cubo,en
2 8
3 18
5 75
A Left Outer Join B
А ⋈ Б
В Площадь Cubo,en
2 4 8
3 9 18
4 16

Правое внешнее соединение ( A ⟖ B )

Правое внешнее соединение возвращает все столбцы из таблицы справа, даже если в таблице слева не найдено соответствующих строк. Если в таблице слева не найдено совпадений, возвращается NULL. RIGHT external JOIN является противоположностью LEFT JOIN.

В нашем примере предположим, что вам нужно получить имена участников и фильмы, взятые ими напрокат. Теперь у нас есть новый участник, который еще не брал напрокат ни одного фильма.

Правое внешнее соединение

A Right Outer Join B
А ⋈ Б
В Cubo,en Площадь
2 8 4
3 18 9
5 75

Полное внешнее соединение ( A ⟗ B)

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

A Full B
А ⋈ Б
В Площадь Cubo,en
2 4 8
3 9 18
4 16
5 75

Резюме

  • В основном существует два типа соединений. СУБД 1) Внутреннее соединение 2) Внешнее соединение
  • Внутреннее соединение — это широко используемая операция соединения, которую можно рассматривать как тип соединения по умолчанию.
  • Внутреннее соединение далее делится на три подтипа: 1) Тета-соединение 2) Естественное соединение 3) Соединение EQUI
  • Theta Join позволяет объединить две таблицы на основе условия, представленного тетой.
  • Когда тета-соединение использует только условие эквивалентности, оно становится эквивалентным соединением.
  • Естественное соединение не использует ни один из операторов сравнения.
  • Внешнее соединение не требует, чтобы каждая запись в двух объединяемых таблицах имела совпадающую запись.
  • Внешнее соединение далее делится на три подтипа: 1) левое внешнее соединение 2) правое внешнее соединение 3) полное внешнее соединение
  • Внешнее соединение LEFT возвращает все строки из таблицы слева, даже если в таблице справа не найдено соответствующих строк.
  • Внешнее соединение RIGHT возвращает все столбцы из таблицы справа, даже если в таблице слева не найдено соответствующих строк.
  • При полном внешнем соединении в результат включаются все кортежи из обоих отношений, независимо от условия совпадения.