Реляционная алгебра в СУБД: Operaпримеры с примерами
Реляционная алгебра
РЕЛЯЦИОННАЯ АЛГЕБРА — широко используемый процедурный язык запросов. Он собирает экземпляры отношений в качестве входных данных и выдает экземпляры отношений в качестве выходных данных. Для выполнения этого действия он использует различные операции. Операции запроса реляционной алгебры SQL выполняются рекурсивно над отношением. Результатом этих операций является новое отношение, которое может быть сформировано из одного или нескольких входных отношений.
Базовая реляционная алгебра SQL Operaных
Реляционная алгебра разделена на различные группы.
Унарный реляционный Operaных
- ВЫБОР (символ: σ)
- ПРОЕКТ (символ: π)
- ПЕРЕИМЕНОВАТЬ (символ: ρ)
Реляционная алгебра Operaции из теории множеств
- СОЮЗ (υ)
- ПЕРЕКРЕСТОК ( ),
- РАЗНИЦА (-)
- ДЕКОРТОВО ПРОИЗВЕДЕНИЕ ( x )
Двоичный реляционный Operaных
- РЕГИСТРАЦИЯ
- ОТДЕЛ
Изучим их подробно с решениями:
ВЫБРАТЬ (σ)
Операция SELECT используется для выбора подмножества кортежей в соответствии с заданным условием выбора. Символ сигма(σ) обозначает это. Он используется как выражение для выбора кортежей, удовлетворяющих условию выбора. Оператор выбора выбирает кортежи, удовлетворяющие заданному предикату.
σp(r)
σ
это предикат
r
означает отношение, которое является именем таблицы
p
это предложная логика
Пример 1
σ topic = "Database" (Tutorials)
Результат – Выбирает кортежи из учебных пособий, где тема = «База данных».
Пример 2
σ topic = "Database" and author = "guru99"( Tutorials)
Результат – Выбирает кортежи из учебных пособий, где тема — «База данных», а «автор» — guru99.
Пример 3
σ sales > 50000 (Customers)
Результат – Отбирает кортежи из клиентов, у которых объем продаж превышает 50000 XNUMX.
Проекция (π)
Проекция исключает все атрибуты входного отношения, кроме тех, которые указаны в списке проекций. Метод проекции определяет отношение, которое содержит вертикальное подмножество отношения.
Это помогает извлечь значения указанных атрибутов и исключить повторяющиеся значения. Символ (pi) используется для выбора атрибутов из отношения. Этот оператор помогает исключить определенные столбцы из отношения и отбрасывает другие столбцы.
Пример проекции:
Рассмотрим следующую таблицу
Пользовательский ИД | Имя Клиента | Статус: |
---|---|---|
1 | Активные | |
2 | Amazon | Активные |
3 | Apple | Неактивный |
4 | Алибаба | Активные |
Здесь проекция CustomerName и статуса даст
Π CustomerName, Status (Customers)
Имя Клиента | Статус: |
---|---|
Активные | |
Amazon | Активные |
Apple | Неактивный |
Алибаба | Активные |
Переименовать (ρ)
Переименование — это унарная операция, используемая для переименования атрибутов отношения.
ρ (a/b)R переименует атрибут «b» отношения на «a».
Объединение операции (υ)
СОЮЗ обозначается символом ∪. Он включает все кортежи, находящиеся в таблицах A или B. Он также удаляет повторяющиеся кортежи. Итак, набор A UNION set B будет выражаться как:
Результат <- A ∪ B
Чтобы операция объединения была допустимой, должны выполняться следующие условия:
- R и S должны иметь одинаковое количество атрибутов.
- Домены атрибутов должны быть совместимыми.
- Повторяющиеся кортежи должны автоматически удаляться.
Пример
Рассмотрим следующие таблицы.
столбец 1 | столбец 2 | столбец 1 | столбец 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B дает
столбец 1 | столбец 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Установить разницу (-)
– Символ обозначает это. Результатом A – B является отношение, которое включает в себя все кортежи, находящиеся в A, но не в B.
- Имя атрибута A должно совпадать с именем атрибута в B.
- Отношения двух операндов A и B должны быть либо совместимыми, либо совместимыми по союзу.
- Должно быть определено отношение, состоящее из кортежей, находящихся в отношении A, но не находящихся в отношении B.
Пример
A-B
столбец 1 | столбец 2 |
---|---|
1 | 2 |
Intersection
Пересечение определяется символом ∩
А ∩ Б
Определяет отношение, состоящее из набора всех кортежей, которые находятся как в A, так и в B. Однако A и B должны быть совместимы по объединению.
Пример:
A ∩ B
столбец 1 | столбец 2 |
---|---|
1 | 1 |
Декартово произведение(X) в СУБД
Декартово произведение в СУБД — это операция, используемая для объединения столбцов двух отношений. Как правило, декартово произведение никогда не является значимой операцией, если оно выполняется отдельно. Однако это становится значимым, когда за ним следуют другие операции. Его также называют перекрестным произведением или перекрестным соединением.
Пример – декартово произведение
σ столбец 2 = '1' (АХБ)
Вывод. В приведенном выше примере показаны все строки из отношений A и B, столбец 2 которых имеет значение 1.
столбец 1 | столбец 2 |
---|---|
1 | 1 |
1 | 1 |
Присоединяйся Operaных
Операция соединения по существу представляет собой декартово произведение, за которым следует критерий выбора.
Операция соединения, обозначенная ⋈.
Операция JOIN также позволяет объединять кортежи, связанные по-разному, из разных отношений.
Типы СОЕДИНЕНИЙ:
Различные формы операции соединения:
Внутренние соединения:
- Тета присоединиться
- Присоединение к EQUI
- Естественное соединение
Внешнее соединение:
- Левое внешнее соединение
- Правое внешнее соединение
- Полное внешнее соединение
Внутреннее соединение
Во внутреннее соединение включаются только те кортежи, которые удовлетворяют критериям соответствия, а остальные исключаются. Давайте изучим различные типы внутренних соединений:
Тета Присоединяйтесь
Общий случай операции JOIN называется тета-соединением. Он обозначается символом θ
Пример
A ⋈θ B
Theta join может использовать любые условия в критериях выбора.
Например:
A ⋈ A.column 2 > B.column 2 (B)
столбец 1 | столбец 2 |
---|---|
1 | 2 |
Присоединение к EQUI
Когда тета-соединение использует только условие эквивалентности, оно становится эквивалентным соединением.
Например:
A ⋈ A.column 2 = B.column 2 (B)
столбец 1 | столбец 2 |
---|---|
1 | 1 |
Соединение EQUI — это самая сложная операция для эффективной реализации с использованием SQL в СУБД, и это одна из причин, почему RDBMS имеют существенные проблемы с производительностью.
ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ (⋈)
Естественное соединение может быть выполнено только в том случае, если между отношениями существует общий атрибут (столбец). Имя и тип атрибута должны совпадать.
Пример
Рассмотрим следующие две таблицы
В | Площадь |
---|---|
2 | 4 |
3 | 9 |
В | Cubo,en |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
В | Площадь | Cubo,en |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
ВНЕШНЕЕ СОЕДИНЕНИЕ
Во внешнее соединение наряду с кортежами, удовлетворяющими критериям соответствия, мы также включаем некоторые или все кортежи, которые не соответствуют критериям.
Левое внешнее соединение (A ⟕ B)
В левом внешнем соединении операция позволяет сохранить весь кортеж в левом отношении. Однако если в правильном отношении не найден соответствующий кортеж, то атрибуты правильного отношения в результате соединения заполняются нулевыми значениями.
Рассмотрим следующие 2 таблицы
В | Площадь |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
В | Cubo,en |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
В | Площадь | Cubo,en |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
Правое внешнее соединение ( A ⟖ B )
В правом внешнем соединении операция позволяет сохранить весь кортеж в правильном отношении. Однако если в левом отношении не найден соответствующий кортеж, то атрибуты левого отношения в результате соединения заполняются нулевыми значениями.
AB
В | Cubo,en | Площадь |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | – |
Полное внешнее соединение ( A ⟗ B)
При полном внешнем соединении в результат включаются все кортежи из обоих отношений, независимо от условия совпадения.
AB
В | Cubo,en | Площадь |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
5 | – | 75 |
Итого
Operaция(Символы) | Цель |
---|---|
Выбрать(σ) | Операция SELECT используется для выбора подмножества кортежей в соответствии с заданным условием выбора. |
Проекция (π) | Проекция исключает все атрибуты входного отношения, кроме тех, которые указаны в списке проекций. |
Союз Operaция(∪) | СОЮЗ обозначается символом. Он включает в себя все кортежи, находящиеся в таблицах A или B. |
Установить разницу(-) | – Символ обозначает это. Результатом A – B является отношение, которое включает в себя все кортежи, находящиеся в A, но не в B. |
Пересечение(∩) | Пересечение определяет отношение, состоящее из набора всех кортежей, находящихся как в A, так и в B. |
Декартово произведение (X) | Декартова операция полезна для объединения столбцов из двух отношений. |
Внутреннее соединение | Внутреннее соединение включает только те кортежи, которые удовлетворяют критериям соответствия. |
Тета-соединение(θ) | Общий случай операции JOIN называется тета-соединением. Он обозначается символом θ. |
EQUI Присоединяйтесь | Когда тета-соединение использует только условие эквивалентности, оно становится эквивалентным соединением. |
Естественное соединение(⋈) | Естественное соединение может быть выполнено только в том случае, если между отношениями существует общий атрибут (столбец). |
Внешнее соединение | Во внешнем соединении вместе с кортежами, удовлетворяющими критериям соответствия. |
Левое внешнее соединение( |
В левом внешнем соединении операция позволяет сохранить весь кортеж в левом отношении. |
Правое внешнее соединение( |
В правом внешнем соединении операция позволяет сохранить весь кортеж в правильном отношении. |
Полное внешнее соединение( |
При полном внешнем соединении все кортежи из обоих отношений включаются в результат независимо от условия сопоставления. |