Учебники

6) Реляционная алгебра в СУБД

Что такое реляционная алгебра?

RELATIONAL ALGEBRA — широко используемый процедурный язык запросов. Он собирает экземпляры отношений в качестве входных данных и дает вхождения отношений в качестве выходных данных. Он использует различные операции для выполнения этого действия. Операции реляционной алгебры выполняются рекурсивно на отношении. Результатом этих операций является новое отношение, которое может быть сформировано из одного или нескольких входных отношений.

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

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

Relational Algebra devided in various groups

Unary Relational Operations

  • SELECT (symbol: σ)
  • PROJECT (symbol: π)
  • RENAME (symbol: )

Relational Algebra Operations From Set Theory

  • UNION (υ)
  • INTERSECTION ( ),
  • DIFFERENCE (-)
  • CARTESIAN PRODUCT ( x )

Binary Relational Operations

  • JOIN
  • DIVISION

Let’s study them in detail:

SELECT (σ)

The SELECT operation is used for selecting a subset of the tuples according to a given selection condition. Sigma(σ)Symbol denotes it. It is used as an expression to choose tuples which meet the selection condition. Select operation selects tuples that satisfy a given predicate.

σp(r)

σ is the predicate

r stands for relation which is the name of the table

p is prepositional logic

Example 1

σ topic = "Database" (Tutorials)

Output — Selects tuples from Tutorials where topic = ‘Database’.

Example 2

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

Output — Selects tuples from Tutorials where the topic is ‘Database’ and ‘author’ is guru99.

Example 3

σ sales > 50000 (Customers)

Output — Selects tuples from Customers where sales is greater than 50000

Projection(π)

The projection eliminates all attributes of the input relation but those mentioned in the projection list. The projection method defines a relation that contains a vertical subset of Relation.

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

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

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

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

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

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

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

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

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

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

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

пример

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

Таблица А
Таблица Б
колонка 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
Таблица A ∩ B
колонка 1 колонка 2
1 1

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

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

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

σ колонок 2 = ‘1’ (А)

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

столбец 2 = 1 (AXB)
колонка 1 колонка 2
1 1
1 1

Присоединяйтесь Операции

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

Операция присоединения обозначена ⋈.

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

Типы JOIN:

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

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

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

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

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

Inner Join:

In an inner join, only those tuples that satisfy the matching criteria are included, while the rest are excluded. Let’s study various types of Inner Joins:

Theta Join:

The general case of JOIN operation is called a Theta join. It is denoted by symbol θ

Example

A ⋈θ B

Theta join can use any conditions in the selection criteria.

For example:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.column 2 > B.column 2 (B)
column 1 column 2
1 2

EQUI join:

When a theta join uses only equivalence condition, it becomes a equi join.

For example:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.column 2 = B.column 2 (B)
column 1 column 2
1 1

EQUI join is the most difficult operations to implement efficiently in an RDBMS and one reason why RDBMS have essential performance problems.

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

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

пример

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

С
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 таблицы

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

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

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

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

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

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

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 Присоединиться

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

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

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

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

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

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

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

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

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

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

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