Реляционная алгебра в СУБД: операции с примерами

Содержание:

Anonim

Реляционная алгебра

ОТНОСИТЕЛЬНАЯ АЛГЕБРА - широко используемый процедурный язык запросов. Он собирает экземпляры отношений в качестве входных данных и выдает экземпляры отношений в качестве выходных данных. Для выполнения этого действия используются различные операции. Операции запроса реляционной алгебры SQL выполняются рекурсивно над отношением. Результатом этих операций является новое отношение, которое может быть сформировано из одного или нескольких входных отношений.

В этом руководстве вы узнаете:

  • Реляционная алгебра
  • ВЫБРАТЬ (σ)
  • Проекция (π)
  • Переименовать (ρ)
  • Союз операция (υ)
  • Установить разницу (-)
  • Пересечение
  • Декартово произведение (X)
  • Присоединиться к операциям
  • Внутреннее соединение:
  • Theta Join:
  • EQUI присоединиться:
  • ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ (⋈)
  • ВНЕШНЕЕ СОЕДИНЕНИЕ
  • Левое внешнее соединение (A B)
  • Правое внешнее соединение: (A B)
  • Полное внешнее соединение: (A B)

Основные операции реляционной алгебры SQL

Реляционная алгебра разделена на различные группы

Унарные реляционные операции

  • ВЫБРАТЬ (символ: σ)
  • ПРОЕКТ (символ: π)
  • ПЕРЕИМЕНОВАТЬ (символ: ρ)

Операции реляционной алгебры из теории множеств

  • СОЮЗ (υ)
  • ПЕРЕСЕЧЕНИЕ (),
  • РАЗНИЦА (-)
  • КАРТСИЙСКИЙ ПРОДУКТ (x)

Бинарные реляционные операции

  • ПРИСОЕДИНИТЬСЯ
  • РАЗДЕЛЕНИЕ

Разберем их подробно с решениями:

ВЫБРАТЬ (σ)

Операция SELECT используется для выбора подмножества кортежей в соответствии с заданным условием выбора. Сигма (σ) обозначает его. Он используется как выражение для выбора кортежей, удовлетворяющих условию выбора. Оператор Select выбирает кортежи, удовлетворяющие заданному предикату.

σp(r) σэто предикат rобозначает отношение, которое является именем таблицы, pявляется предложной логикой

Пример 1

σ topic = "Database" (Tutorials)

Вывод - выбирает кортежи из руководств, где тема = «База данных».

Пример 2

σ topic = "Database" and author = "guru99"( Tutorials)

Вывод - выбирает кортежи из учебников, где тема - «База данных», а «автор» - guru99.

Пример 3

σ sales > 50000 (Customers)

Вывод - выбирает кортежи от клиентов, объем продаж которых превышает 50000

Проекция (π)

Проекция удаляет все атрибуты входного отношения, кроме упомянутых в списке проекций. Метод проекции определяет отношение, которое содержит вертикальное подмножество Relation.

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

Пример проекции:

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

Пользовательский ИД Имя Клиента Положение дел
1 Google Активный
2 Amazon Активный
3 яблоко Неактивный
4 Алибаба Активный

Здесь проекция CustomerName и статуса даст

Π CustomerName, Status (Customers)
Имя Клиента Положение дел
Google Активный
Amazon Активный
яблоко Неактивный
Алибаба Активный

Переименовать (ρ)

Переименование - это унарная операция, используемая для переименования атрибутов отношения.

ρ (a / b) R переименует атрибут отношения «b» на «a».

Союз операция (υ)

СОЮЗ обозначается символом. Он включает все кортежи, которые находятся в таблицах A или B. Он также устраняет повторяющиеся кортежи. Итак, набор A UNION набор B будет выражен как:

Результат <- A ∪ B

Чтобы операция объединения была действительной, должны выполняться следующие условия:

  • R и S должны иметь одинаковое количество атрибутов.
  • Домены атрибутов должны быть совместимы.
  • Повторяющиеся кортежи должны автоматически удаляться.

Пример

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

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

A ∪ B дает

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

Установить разницу (-)

- Символ обозначает это. Результатом A - B является отношение, которое включает в себя все кортежи, которые находятся в A, но не в B.

  • Имя атрибута A должно совпадать с именем атрибута в B.
  • Двухоперандные отношения A и B должны быть либо совместимыми, либо совместимыми по объединению.
  • Следует определить отношение, состоящее из кортежей, находящихся в отношении A, но не в B.

Пример

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

Пересечение

Пересечение обозначается символом ∩

А ∩ Б

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

Визуальное определение пересечения

Пример:

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

Декартово произведение (X) в СУБД

Декартово произведение в СУБД - это операция, используемая для объединения столбцов из двух отношений. Как правило, декартово произведение никогда не является значимой операцией, когда оно выполняется в одиночку. Однако это становится значимым, когда за ним следуют другие операции. Его также называют перекрестным произведением или перекрестным соединением.

Пример - декартово произведение

σ столбец 2 = '1' (AXB)

Выходные данные - в приведенном выше примере показаны все строки из отношений A и B, столбец 2 которых имеет значение 1.

σ столбец 2 = '1' (AXB)
столбец 1 столбец 2
1 1
1 1

Присоединиться к операциям

Операция объединения - это, по сути, декартово произведение, за которым следует критерий выбора.

Операция соединения обозначается символом.

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

Типы ПРИСОЕДИНЕНИЯ:

Различные формы операции соединения:

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

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

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

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

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

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

Theta Join:

Общий случай операции JOIN называется тета-соединением. Обозначается символом θ

Пример

A ⋈θ B

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

Например:

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

EQUI присоединиться:

Когда тета-соединение использует только условие эквивалентности, оно становится равным соединением.

Например:

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

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

ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ (⋈)

Естественное соединение может быть выполнено только при наличии общего атрибута (столбца) между отношениями. Имя и тип атрибута должны совпадать.

Пример

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

C
Num Квадрат
2 4
3 9
D
Num Куб
2 8
3 27
C ⋈ D
C ⋈ D
Num Квадрат Куб
2 4 4
3 9 27

ВНЕШНЕЕ СОЕДИНЕНИЕ

Во внешнее соединение, наряду с кортежами, удовлетворяющими критериям соответствия, мы также включаем некоторые или все кортежи, которые не соответствуют критериям.

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

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

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

А
Num Квадрат
2 4
3 9
4 16
B
Num Куб
2 8
3 18
5 75
A  B
А ⋈ Б
Num Квадрат Куб
2 4 4
3 9 9
4 16 -

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

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

A  B
А ⋈ Б
Num Куб Квадрат
2 8 4
3 18 9
5 75 -

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

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

A  B
А ⋈ Б
Num Куб Квадрат
2 4 8
3 9 18
4 16 -
5 - 75

Резюме

Операция (символы)

Цель

Выбрать (σ)

Операция SELECT используется для выбора подмножества кортежей в соответствии с заданным условием выбора.

Проекция (π)

Проекция удаляет все атрибуты входного отношения, кроме упомянутых в списке проекций.

Союз Операция (∪)

СОЮЗ обозначается символом. Он включает все кортежи, которые находятся в таблицах A или B.

Установить разницу (-)

- Символ обозначает это. Результатом A - B является отношение, которое включает в себя все кортежи, которые находятся в A, но не в B.

Пересечение (∩)

Пересечение определяет отношение, состоящее из набора всех кортежей, которые находятся как в A, так и в B.

Декартово произведение (X)

Декартова операция полезна для объединения столбцов из двух отношений.

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

Внутреннее соединение включает только те кортежи, которые удовлетворяют критериям соответствия.

Тета-соединение (θ)

Общий случай операции JOIN называется тета-соединением. Обозначается символом θ.

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

Когда тета-соединение использует только условие эквивалентности, оно становится равным соединением.

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

Естественное соединение может быть выполнено только при наличии общего атрибута (столбца) между отношениями.

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

Во внешнем соединении вместе с кортежами, удовлетворяющими критериям соответствия.

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

В левом внешнем соединении операция позволяет сохранить весь кортеж в левом отношении.

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

В правом внешнем соединении операция позволяет сохранить все кортежи в правильном отношении.

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

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