Алгебра Кодда
Реляційні операції
Відношення, сумісні з об'єднанням
Деякі реляційні операції, наприклад, об'єднання, перетин і еквівалентність, потребують, щоб відношення мали однакові заголовки.
Відношення називаються сумісними по об'єднанню, якщо
- вони мають одину і ту ж кількість імен атрибутів, тобто для будь-якого атрибута в одному відношенні знайдеться атрибут з таким же найменуванням в іншому відношенні,
- атрибути з однаковими іменами визначені на одних і тих же типах даних (доменах).
Деякі відношення не є сумісними з об'єднанням, але стають такими після перейменування деяких атрибутів.
Відношення, сумісні по узяттю розширеного декартового добутку
Реляційний операції розширеного декартового добутку вимагає, щоб відношень-операнди не мали однойменних атрибутів. Відношення називаються сумісними з узяття розширеного декартового добутку, якщо перетин множин імен атрибутів, взятих з їх схем відношень, порожньо.
Операція перейменування атрибутів
Результатом застосування операції перейменування атрибутів є відношення з зміненими іменами атрибутів.
Синтаксис: R RENAME Atr1, Atr2, … AS NewAtr1, NewAtr2, … де R — відношення Atr1, Atr2, … — початкові імена атрибутів; NewAtr1, NewAtr2, … — нові імена атрибутів.
Операція присвоєння
Операція присвоєння (:=) дозволяє зберегти результат вичислення реляційного вираження у дійсному відношенні.
Об'єднання
Відношення з тим же заголовком, що і у сумісних по типу відношень A і B, і тілом, що складається з кортежів, що належать або A, або B, або обом відношенням. Синтаксис:A UNION B
Перетин
Відношення з тим же заголовком, що і у сумісних по типу відношень A і B, і тілом, що складається з кортежів, що належать одночасно обом відношенням A і B. Синтаксис: A INTERSECT B
Віднімання
Відношення з тим же заголовком, що і у сумісних по типу відношень A і B, і тілом, що складається з кортежів, що належать відношенню A і не належать відношенню B. Синтаксис: A MINUS B
Декартовий добуток
Віднощення (A1, A2, …, Am, B1, B2, …, Bm), заголовок якого є зчепленням (конкатенацією) заголовків відношень A (A1, A2, ..., Am) і B (B1, B2, ..., Bm), а тіло складається з кортежів, які є зчепленням кортежів відносин A і B:
таких, що (a1, a2, …, am)∈ A, (b1, b2, …, bm)∈ B.
Синтаксис:
A TIMES B
Вибірка (обмеження)
Відношення з тим же заголовком, що і у відношенню A, і тілом, що складається з кортежів, значення атрибутів яких при підстановці в умову c дають значення ІСТИНА. c являє собою логічне вираження, до якого можуть входити атрибути відношення A і / або скалярні добутки. Синтаксис: A WHERE c
Проєкція
Проєкція в реляційній алгебрі - унарна операція, яка дозволяє отримати «вертикальну» підмножину даного відношення, або таблиці, тобто така підмножина, яка виходить вибором специфікованих атрибутів з наступним виключенням, якщо це необхідно, надлишкових дублікатів кортежів. Нехай дана таблиця T з іменами атрибутів A_ {1}, \; A_ {2}, \; \ ldots, \; A_ {n}, тобто T (A_ {1}, \; A_ {2}, \; \ ldots, \; A_ {n}) і деяку підмножину множини імен атрибутів \ {A _ {{i_ {1}}}, \; A _ {{i_ {2}}}, \; \ ldots, \; A _ {{i_ {k}}} \}. Результатом проєкції таблиці за обраними іменами атрибутів називається нова таблиця T (A _ {{i_ {1}}}, \; A _ {{i_ {2}}}, \; \ ldots, \; A _ {{i_ {k}}} ), отримана з вихідної таблиці викреслюванням атрибутів, що не входять в вибрану множину, з подальшим можливим вилученням надлишкових дублікатів кортежів.
При здійсненні проєкції необхідно задати відношення яке проєктується і певний набір його атрибутів, який стане заголовком результуючого.
З'єднання
Операція з'єднання є результат послідовного застосування операцій декартового добутку і вибірки. Якщо у відносинах і є атрибути з однаковими найменуваннями, то перед виконанням з'єднання такі атрибути необхідно перейменувати. Синтаксис: (A TIMES B) WHERE c
Ділення
Відношення з заголовком (X1, X2, ..., Xn) і тілом, що містить безліч кортежів (x1, x2, ..., xn), таких, що для всіх кортежів (y1, y2, ..., ym) ∈ B щодо A (X1 , x2, ..., Xn, Y1, y2, ..., Ym) знайдеться кортеж (x1, x2, ..., xn, y1, y2, ..., ym). Синтаксис: A DIVIDEBY B
Залежність реляційних операторів
Не всі реляційні оператори є незалежними, тобто деякі з реляційних операторів можуть бути виражені через інші реляційні оператори.
- Оператор з'єднання
Оператор з'єднання визначається через оператори декартового добуткуі вибірки наступним чином: (A TIMES B) WHERE X = Y де X і Y атрибути відповідно відношення A і B з від початку рівними іменами.
- Оператор перетину
Оператор перетину виражається через віднімання наступним чином: A INTERSECT B = A MINUS (A MINUS B)
- Оператор ділення
Оператор ділення виражається через оператори віднімання, декартового добутку і проєкції в такий спосіб:
A DIVIDEBY B = A[X] MINUS ((A[X] TIMES B) MINUS A)[X]
Примітивні реляційні оператори
Решта реляційні оператори (об'єднання, перетин, декартовій добуток, вибірка, проєкція) є примітивними операторами - їх не можна виразити один через одного.
- Оператор декартового добутку
Оператор декартового добутку - це єдиний оператор, що збільшує кількість атрибутів, тому його не можна виразити через об'єднання, перетин, вибірку, проєкцію.
- Оператор проєкції
Оператор проєкції - єдиний оператор, що зменшує кількість атрибутів, тому його не можна виразити через об'єднання, перетин, декартовій добуток, вибірку.
Оператор вибірки - єдиний оператор, що дозволяє проводити порівняння по атрибутам відношень, тому його не можна виразити через об'єднання, перетин, декартовій добуток, проєкцію.
- Оператори об'єднання і перетину
Доказ примітивності операторів об'єднання і віднімання складніші і ми їх тут не наводимо.
- Студопедия — Реляционная алгебра Кодда. Перечислить все операции. Приоритет операций. Замкнутость реляционной алгебры.. studopedia.info. Процитовано 1 грудня 2018.