Лекція 7. Реляційна алгебра

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

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

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

Найбільш відомими мовами запитів у реляційній моделі є реляційна алгебра та реляційне числення (напр. мови QBE та SQL).

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

Реляційна алгебра є алгеброю в строгому класичному розумінні її визначення.

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

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

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

Реляційні відношення  називаються сумісними, якщо:  

1) у них однакова кількість атрибутів, тобто k = n;

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

Дамо також означення кількох властивостей бінарних операцій:

операція φ є комутативною, якщо А φ В = В φ А;

операція φ є асоціативною, якщо (А φ В) φ С = А φ (В φ C);

операція φ є дистрибутивною з операцією θ, якщо А φ (В θ С) = (А φ В) θ (А φ С).

 

Об'єднання

Нехай L — певна множина атрибутів. Об'єднанням сумісних реляційних відношень R1 і R2 зі схемами R1(L) і R2(L) (позначається як R1  R2) називається таке реляційне відношення R зі схемою R(L), що містить кортежі обох поєднуваних відношень, але без повторень.

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

Приклад

 

Перетин

Припустимо, що L - певна множина атрибутів. Перетином сумісних реляційних відношень R1 і R2 зі схемами R1(L) і R2(L) (позначається як R1  R2) називається таке реляційне відношення R зі схемою R(L), яке містить кортежі, шо входять до складу обох операндів.

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

Приклад

 

Різниця

Нехай L − певна множина атрибутів. Різницею сумісних реляційних відношень R1 і R2 зі схемами R1(L) і R2(L) (позначається як R1  R2)  називається реляційне відношення R зі схемою R(L), що містить ті кортежі з першого операнда R1 яких немає у другому операнді R2.

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

Приклад

 

Зазначимо деякі особливості теоретико-множинних операцій.

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

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

Розглянемо операції, які визначені лише в реляційній алгебрі.

Проекція

Проекцією реляційного відношення R зі схемою R(А1,…,Ak) за атрибутами Аi1, …, Аin, де , що познається R, називається таке  відношення S зі схемою S(), кортежі якого отримані з кортежів відношення R шляхом видалення значень, що не належать атрибутам, за якими виконується проекція. При цьому в кінцевому відношенні повторні екземпляри кортежів видаляються.

Операція проекції також записується як

Приклад

Обмеження (селекція)

Спочатку дамо означення -порівнянності атрибутів. Нехай θ є одним з операторів порівняння: =, ≠, <, ≤, >, ≥ (набір операторів можна розширити). Атрибути А і В одного й того самого чи різних відношень називаються θ-порівнянними, якщо для будь-яких значень а  А і b B результат операції a θ b є визначеним (істинним або хибним). Інакше кажучи, ця операція визначена на відповідних атрибутах. Набори атрибутів L=() та М=() називаються θ-порівняними, якщо k=n і Аіθ-порівнянне з Вi(і = 1,2,..., k ). Тоді вираз LθM розуміють так:

L θ M=(A1 θ B1) &…& (Ak θ Bk)

Тепер дамо означення операції обмеження.

 

Нехай L і M - набори θ-порівнянних атрибутів схеми відношення R. Тоді обмеженням реляційного відношення R за умовою L θ M, що позначається R[L θ M], називається реляційне відношення, кортежі якого відповідають умові L θ M.

 

Операція обмеження також записується як σLθM(R).

 

Приклад

Декартів добуток

Декартовим добутком реляційних відношень R і S зі схемами R(A1,A2,…,An) та S(B1,B2,…,Bm) відповідно, що позначається R  S, називається відношення Q зі схемою Q(A1,A2,…,An,B1,B2,…,Bm), яке містить усі можливі з'єднання кортежів відношення R з кортежами відношення S:

Операція комутативна й асоціативна.

Приклад

 

З'єднання

Припустимо, що відношення R має схему R(L, М), а відношення S - схему S(N, Р). Нехай множини атрибутів М і N - θ-порівнянні. Тоді з'єднанням, або θ-з'єднанням, відношень R і S за умовою М θ N, що позначається як R[M θ N]S,  називається відношення Q зі схемою Q(L, М, N, Р), кортежі якого можна отримати  з'єднанням тих кортежів відношень R і S, на яких виконується умова М θ N.

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

Іноді операція з'єднання позначається як S, де F - умова з'єднання.

З'єднання за умовою рівності називається еквіз'єднанням. З'єднання за умовою рівності, коли один з порівнюваних атрибутів (чи група порівнюваних атрибутів) видаляється з кінцевого відношення, називається природним з'єднанням; на його позначення використовується символ «*». Наприклад, якщо задані відношення R(A, В, С, D) і S(С, D, Е), то в результаті виконання операції Q = R * S отримаємо реляцiйне відношення Q(A, В, С, D, Е).

Серед операцій θ-з'єднання виділяють операцію напівз'єднання, за якої з результату видаляються всі атрибути одного з відношень, що з'єднуються. Вона записується як R[M θ N)S.

 

 

 

 

 

 

Приклад

 

Ділення

Нехай задано відношення зі схемою R(M, N). Образом реляційного відношення R за кортежем t1  R[M] називається така множина кортежів t2  R[N], для яких зчеплення (t1, t2) належить відношенню R. Образ R за кортежем t1 позначається IR(t1).

Приклад

Нехай задано відношення R і S зі схемами R(M, N) та S(K, L), для яких проекції R[N] та S[K] є сумісними. Діленням відношення R на відношення S за наборами атрибутів N і К (позначається R[N÷K]S) називається операція, результатом якої є відношення Q зі схемою Q(M), що складається з таких кортежів t  R[M], образи IR(t) яких містять усі кортежі проекції S[K].

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

R[N ÷ K]S = R[M] - ((R[M]  S[K] ) - R)[M].

Операція не комутативна й не асоціативна.

 

 

 

Питання для самоперевірки:

 

1. Що таке реляційна алгебра.

2. Реляційне числення Кодда.

3. Реляційне числення Пірота.

4. Реляційна повнота.

5. Реляційна потужність.