Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

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



План:


Введення

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

Початковий набір з 8 операцій був запропонований Е. Коддом в 1970-і роки і включав як операції, які до цих пір використовуються ( проекція, з'єднання і т.д.), так і операції, які не увійшли до вживання (наприклад, поділ відносин).

У процесі розвитку реляційної теорії і практики було запропоновано декілька нових реляційних операцій, наприклад полусоедіненіе (SEMI-JOIN) і полуразность, або анти-полусоедіненіе (ANTI-SEMI-JOIN) [1] [2], CROSS APPLY і OUTER APPLY, транзитивне замикання (TCLOSE) та ін

Оскільки багато операцій виразність один через одного, у складі реляційної алгебри можна виділити кілька варіантів базису (набору операцій, через який виразність всі інші). Найбільш відомий і строго певний базис ( алгебра А) запропонований Крістофером Дейта і Х'ю Дарвеном [3].

Доведено, що реляційна алгебра і реляційне обчислення взаємно еквіваленти.


1. Замкнутість реляційної алгебри

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

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

Приклад унарний операції - проекція, приклад бінарної операції - об'єднання.

Реляційну операцію f можна представити функцією з відносинами в якості аргументів:
R = f (R 1, R 2,..., R n)

Оскільки реляційна алгебра є замкнутою, в якості операндів в реляційні операції можна підставляти інші вирази реляційної алгебри (підходящі за типом):

R = f (f 1 (R 11, R 12,...), f 2 (R 21, R 22,...), ...)

У реляційних виразах можна використовувати вкладені вирази як завгодно складної структури.


2. Обмеження на операції

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

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

3. Операції реляційної алгебри

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

3.1. Перейменування

В результаті застосування операції перейменування отримуємо нове ставлення, зі зміненими іменами атрибутів.
Синтаксис:
R RENAME Atr 1, Atr 2,... AS NewAtr 1, NewAtr 2,...
де
R - відношення
Atr 1, Atr 2,... - вихідні імена атрибутів
NewAtr 1, NewAtr 2,... - нові імена атрибутів

3.2. Об'єднання

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

3.3. Перетин

Відношення з тим же заголовком, що й у відносин A і B, і тілом, що складається з кортежів, які належать одночасно обом відносин A і B.
Синтаксис:
A INTERSECT B

3.4. Віднімання

Відношення з тим же заголовком, що і у сумісних за типом відносин A і B, і тілом, що складається з кортежів, що належать відношенню A і не належать відношенню B.
Синтаксис:
A MINUS B

3.5. Декартовій твір

Відношення (A 1, A 2,..., A m, B 1, B 2,..., B m), заголовок якого є зчепленням заголовків відносин A (A 1, A 2,..., A m) і B (B 1, B 2,..., B m), а тіло складається з кортежів, які є зчепленням кортежів відносин A і B:

(A 1, a 2,..., a m, b 1, b 2,..., b m)

таких, що (a 1, a 2,..., a m)A, (b 1, b 2,..., b m)B.

Синтаксис:

A TIMES B


3.6. Вибірка (обмеження)

Відношення з тим же заголовком, що і у відносини A, і тілом, що складається з кортежів, значення атрибутів яких при підстановці в умову c дають значення ИСТИНА. C являє собою логічне вираження, до якого можуть входити атрибути відносини A і / або скалярні вирази.
Синтаксис:
A WHERE c

3.7. Проекція

Відношення з заголовком (X, Y, ..., Z) і тілом, що містить безліч кортежів виду (x, y, ..., z), таких, для яких щодо A знайдуться кортежі зі значенням атрибута X рівним x, значенням атрибута Y рівним y, ..., значенням атрибута Z рівним z. При виконанні проекції виділяється "вертикальна" вирізка відносини-операнда з природним знищенням потенційно виникають кортежів-дублікатів.
Синтаксис:
A [X, Y, ..., Z]
або
PROJECT A {x, y, ..., z}

3.8. З'єднання

Операція з'єднання є результат послідовного застосування операцій декартового твору та вибірки. Якщо у відносинах і є атрибути з однаковими найменуваннями, то перед виконанням з'єднання такі атрибути необхідно перейменувати.
Синтаксис:
(A TIMES B) WHERE c

3.9. Розподіл

Відношення з заголовком (X 1, X 2,..., X n) і тілом, що містить безліч кортежів (x 1, x 2,..., x n), таких, що для всіх кортежів (y 1, y 2,..., y m) ∈ B щодо A (X 1, X 2,..., X n, Y 1, Y 2,..., Y m) знайдеться кортеж (x 1, x 2,..., x n, y 1, y 2,..., y m).
Синтаксис:
A DIVIDEBY B

Примітки

  1. Introduction to Joins - blogs.msdn.com/b/craigfr/archive/2006/07/19/671712.aspx
  2. Дейт, Крістофер. SQL і реляційна теорія. Як грамотно писати код на SQL. - Символ-Плюс, 2010
  3. К. Дейт, Х'ю Дарвін. Основи майбутніх систем баз даних. Третій маніфест. М: Янус-К, 2004.

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Реляційна СУБД
Відношення (реляційна модель)
Реляційна модель даних
Реляційна база даних
Реляційна база даних
Алгебра Лі
Алгебра Лі
Алгебра
Сигнатура (алгебра)
© Усі права захищені
написати до нас
Рейтинг@Mail.ru