Реляційна алгебра в СУБД: Operaції з прикладами

Реляційна алгебра

РЕЛЯЦІЙНА АЛГЕБРА це широко використовувана мова процедурних запитів. Він збирає екземпляри відношень як вхідні дані та видає випадки відношень як вихідні дані. Для виконання цієї дії він використовує різні операції. Операції запитів реляційної алгебри SQL виконуються рекурсивно над відношенням. Результатом цих операцій є нове відношення, яке може бути сформоване з одного або кількох вхідних відношень.

Базова реляційна алгебра SQL Operaвих

Реляційна алгебра поділяється на різні групи

Унарний реляційний Operaвих

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

Реляційна алгебра Operaції з теорії множин

  • СОЮЗ (υ)
  • ПЕРЕХРЕСТЯ ( ),
  • РІЗНИЦЯ (-)
  • Декартовий добуток ( x )

Двійковий реляційний Operaвих

  • РЕЄСТРАЦІЯ
  • DIVISION

Давайте вивчимо їх детально з рішеннями:

ВИБРАТИ (σ)

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

σp(r)

σ є присудком

r означає відношення, яке є назвою таблиці

p є прийменниковою логікою

Приклад 1

σ topic = "Database" (Tutorials)

Вихід – Вибирає кортежі з посібників, де тема = «База даних».

Приклад 2

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

Вихід – Вибирає кортежі з посібників, де темою є «База даних», а «автором» є guru99.

Приклад 3

σ sales > 50000 (Customers)

Вихід – Вибирає кортежі з Клієнтів, у яких продажі перевищують 50000 XNUMX

Проекція (π)

Проекція усуває всі атрибути вхідного відношення, крім тих, що згадуються в списку проекцій. Метод проекції визначає відношення, яке містить вертикальну підмножину Relation.

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

Приклад проекції:

Розгляньте наступну таблицю

Ідентифікатор клієнта Ім'я клієнта Статус
1 Google Active
2 Amazon Active
3 Apple неактивний
4 Alibaba Active

Тут буде проекція CustomerName і статус

Π CustomerName, Status (Customers)
Ім'я клієнта Статус
Google Active
Amazon Active
Apple неактивний
Alibaba Active

Перейменувати (ρ)

Перейменування — це унарна операція, яка використовується для перейменування атрибутів відношення.

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

Операція союзу (υ)

UNION позначається символом ∪. Він включає всі кортежі, які знаходяться в таблицях A або B. Він також усуває повторювані кортежі. Отже, набір A UNION набір B буде виражений як:

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

Щоб операція об’єднання була дійсною, мають виконуватися такі умови:

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

Приклад

Розгляньте наступні таблиці.

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

Декартовий добуток (X) у СУБД

Декартовий добуток у СУБД це операція, яка використовується для об’єднання стовпців з двох відносин. Як правило, декартовий добуток ніколи не є значущою операцією, якщо він виконується окремо. Однак воно стає значущим, коли за ним йдуть інші операції. Його також називають перехресним продуктом або перехресним з’єднанням.

Приклад – декартів добуток

σ колонка 2 = "1" (AXB)

Вихідні дані – наведений вище приклад показує всі рядки відношень A і B, стовпець 2 яких має значення 1

σ стовпець 2 = '1' (AXB)
колонка 1 колонка 2
1 1
1 1

Приєднайся до Operaвих

Операція з’єднання — це, по суті, декартовий добуток, за яким слідує критерій вибору.

Операція об’єднання позначається ⋈.

Операція JOIN також дозволяє об'єднувати різнопов'язані кортежі з різних відносин.

Типи JOIN:

Різноманітні форми операції об'єднання:

Внутрішні об'єднання:

  • Тета-приєднання
  • Приєднатися до EQUI
  • Природне приєднання

Зовнішнє приєднання:

  • Зліва Зовнішнє приєднання
  • Правильне зовнішнє приєднання
  • Повне Зовнішнє Приєднання

Внутрішнє з'єднання

У внутрішнє об’єднання включаються лише ті кортежі, які задовольняють критерії відповідності, а решта виключаються. Давайте вивчимо різні типи внутрішніх з'єднань:

Тета приєднатися

Загальний випадок операції 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 у RDBMS, і одна з причин чому СУБД мають істотні проблеми з продуктивністю.

ПРИРОДНЕ З'ЄДНАННЯ (⋈)

Природне об’єднання можна виконати лише за наявності спільного атрибута (стовпця) між зв’язками. Ім'я та тип атрибута мають бути однаковими.

Приклад

Розглянемо наступні дві таблиці

C
В Площа
2 4
3 9
D
В Куб
2 8
3 27
C ⋈ D
C ⋈ D
В Площа Куб
2 4 8
3 9 27

ЗОВНІШНЕ ПРИЄДНАЙТЕСЯ

У зовнішнє об’єднання разом із кортежами, які задовольняють критеріям відповідності, ми також включаємо деякі або всі кортежі, які не відповідають критеріям.

Ліве зовнішнє з’єднання (A ⟕ B)

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

Зліва Зовнішнє приєднання

Розгляньте наступні 2 таблиці

A
В Площа
2 4
3 9
4 16
B
В Куб
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
В Площа Куб
2 4 8
3 9 18
4 16 -

Праве зовнішнє з’єднання (A ⟖ B)

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

Правильне зовнішнє приєднання

A Right Outer Join B
A ⋈ B
В Куб Площа
2 8 4
3 18 9
5 75 -

Повне зовнішнє з’єднання (A ⟗ B)

У повному зовнішньому об’єднанні всі кортежі з обох відносин включаються в результат, незалежно від умови відповідності.

A Full Outer Join B
A ⋈ B
В Куб Площа
2 4 8
3 9 18
4 16 -
5 - 75

Підсумки

Operaція (Символи) Мета
Виберіть (σ) Операція SELECT використовується для вибору підмножини кортежів відповідно до заданої умови вибору
Проекція (π) Проекція усуває всі атрибути вхідного відношення, крім тих, що згадуються в списку проекцій.
Union Operaція (∪) СОЮЗ символізується символом. Він включає всі кортежі, які знаходяться в таблицях A або B.
Встановити різницю (-) – Символ позначає це. Результатом A – B є відношення, яке включає всі кортежі, які знаходяться в A, але не в B.
Перетин (∩) Перетин визначає відношення, що складається з набору всіх кортежів, які знаходяться в A і B.
Декартовий добуток (X) Декартова операція корисна для об’єднання стовпців із двох відносин.
Внутрішнє з'єднання Внутрішнє об’єднання включає лише ті кортежі, які відповідають критеріям відповідності.
Тета-з'єднання (θ) Загальний випадок операції JOIN називається тета-з'єднанням. Він позначається символом θ.
EQUI Приєднуйтесь Коли тета-з’єднання використовує лише умову еквівалентності, воно стає екві-з’єднанням.
Природне з'єднання (⋈) Природне об’єднання можна виконати лише за наявності спільного атрибута (стовпця) між зв’язками.
Зовнішнє приєднання У зовнішньому об’єднанні разом із кортежами, які задовольняють критерії відповідності.
Ліве зовнішнє з'єднання (Зліва Зовнішнє приєднання) У лівому зовнішньому об’єднанні операція дозволяє зберегти весь кортеж у лівому відношенні.
Праве зовнішнє з'єднання (Праве зовнішнє приєднання) У правому зовнішньому об’єднанні операція дозволяє зберігати весь кортеж у правильному відношенні.
Повне зовнішнє з'єднання (Повне Зовнішнє Приєднання) У повному зовнішньому об’єднанні всі кортежі з обох зв’язків включаються в результат, незалежно від умови відповідності.

Детальніше ЧИТАТИ