Алгебра Кодда

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

Відношення, сумісні з об'єднанням

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

Відношення називаються сумісними по об'єднанню, якщо

  • вони мають одину і ту ж кількість імен атрибутів, тобто для будь-якого атрибута в одному відношенні знайдеться атрибут з таким же найменуванням в іншому відношенні,
  •  атрибути з однаковими іменами визначені на одних і тих же типах даних (доменах).

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

Відношення, сумісні по узяттю розширеного декартового добутку

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

Операція перейменування атрибутів

Результатом застосування операції перейменування атрибутів є відношення з зміненими іменами атрибутів.

Синтаксис: 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, b1, b2, …, bm)

таких, що (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]

Примітивні реляційні оператори

Решта реляційні оператори (об'єднання, перетин, декартовій добуток, вибірка, проєкція) є примітивними операторами - їх не можна виразити один через одного.

  • Оператор декартового добутку

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

  • Оператор проєкції

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

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

  • Оператори об'єднання і перетину

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

[1]

  1. Студопедия — Реляционная алгебра Кодда. Перечислить все операции. Приоритет операций. Замкнутость реляционной алгебры.. studopedia.info. Процитовано 1 грудня 2018.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.