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

Зміст:

Anonim

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

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

У цьому підручнику ви дізнаєтесь:

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

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

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

Одинарні реляційні операції

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

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

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

Бінарні реляційні операції

  • ПРИЄДНАЙТЕСЬ
  • ПОДІЛ

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

ВИБЕРІТЬ (σ)

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

σp(r) σце предикат rозначає відношення, яке є назвою таблиці p- прийменникова логіка

Приклад 1

σ topic = "Database" (Tutorials)

Вихідні дані - Вибирає кортежі з підручників, де topic = 'База даних'.

Приклад 2

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

Результат - Вибирає кортежі з підручників, де темою є "База даних", а "автором" є guru99.

Приклад 3

σ sales > 50000 (Customers)

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

Проекція (π)

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

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

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

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

CustomerID Ім'я клієнта Статус
1 Google Активний
2 Амазонка Активний
3 Яблуко Неактивний
4 Алібаба Активний

Тут дадуть прогноз CustomerName та статус

Π CustomerName, Status (Customers)
Ім'я клієнта Статус
Google Активний
Амазонка Активний
Яблуко Неактивний
Алібаба Активний

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

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

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

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

СОЮЗ символізується символом ∪. Він включає всі кортежі, що містяться в таблицях 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
Таблиця А - Б
стовпець 1 графа 2
1 2

Перетин

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

A ∩ B

Визначає відношення, що складається з набору всіх кортежів, що знаходяться як в A, так і в B. Однак A і B повинні бути сумісними з об'єднаннями.

Візуальне визначення перетину

Приклад:

A ∩ B
Таблиця A ∩ B
стовпець 1 графа 2
1 1

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

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

Приклад - декартовий продукт

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

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

σ стовпець 2 = '1' (AXB)
стовпець 1 графа 2
1 1
1 1

Приєднуйтесь до операцій

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

Операція приєднання, позначена ⋈.

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

Типи ПРИЄДНАЙТЕСЯ:

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

Внутрішні приєднання:

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

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

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

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

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

Theta Join:

Загальний випадок операції JOIN називається об'єднанням Theta. Він позначається символом θ

Приклад

A ⋈θ B

Theta join може використовувати будь-які умови в критеріях відбору.

Наприклад:

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.
Кількість Площа
2 4
3 9
D
Кількість Куб
2 8
3 27
C ⋈ D
C ⋈ D
Кількість Площа Куб
2 4 4
3 9 27

ВНЕШНЄ ПРИЄДНАННЯ

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

Ліве зовнішнє приєднання (A B)

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

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

A
Кількість Площа
2 4
3 9
4 16
B
Кількість Куб
2 8
3 18
5 75
A  B
A ⋈ B
Кількість Площа Куб
2 4 4
3 9 9
4 16 -

Праве зовнішнє приєднання: (A B)

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

A  B
A ⋈ B
Кількість Куб Площа
2 8 4
3 18 9
5 75 -

Повне зовнішнє приєднання: (A B)

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

A  B
A ⋈ B
Кількість Куб Площа
2 4 8
3 9 18
4 16 -
5 - 75

Резюме

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

Призначення

Виберіть (σ)

Операція SELECT використовується для вибору підмножини кортежів відповідно до заданої умови відбору

Проекція (π)

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

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

СОЮЗ символізується символом. Він включає всі кортежі, що містяться в таблицях A або B.

Встановити різницю (-)

- Символ позначає це. Результат A - B - це відношення, яке включає всі кортежі, що знаходяться в A, але не в B.

Перетин (∩)

Перетин визначає відношення, що складається з набору всіх кортежів, що знаходяться як в А, так і в В.

Декартовий продукт (X)

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

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

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

Theta Join (θ)

Загальний випадок операції JOIN називається об'єднанням Theta. Він позначається символом θ.

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

Коли тета-об’єднання використовує лише умову еквівалентності, воно стає екві-об’єднанням.

Природне приєднання (⋈)

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

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

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

Ліве зовнішнє приєднання ( )

У лівому зовнішньому з'єднанні операція дозволяє зберігати всі кортежі в лівому відношенні.

Праве Зовнішнє приєднання ( )

У правому зовнішньому з'єднанні операція дозволяє підтримувати всі кортежі в правильному відношенні.

Повне зовнішнє приєднання ( )

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