Алгебра реляційних операцій

Тема 5.1. Реляційна алгебра.

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

2. Алгебра реляційних операцій

 

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

Деяка алгебра, взагалі говорячи, складається з набору операторів, що застосовуються до атомарних операндів. Наприклад, в алгебрі арифметики атомарні операнди представляють собою змінні виду Х і константи, а операторами слугують звичайні арифметичні оператори складання, різниці, множення і ділення. Люба алгебра дозволяє створювати вирази шляхом застосування операторів до операндів або до виразів. Для групування операторів і операндів застосовують круглі дужки. Арифметичний вираз, наприклад, може мати наступний вигляд (x+y)*z.

Реляційна алгебра – це різновид алгебри. В ній підтримуються наступні види атомарних операндів:

1) змінні – представляють відношення;

2) константи – представляють результуючі відношення.

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

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

Реляційна алгебра була розроблена Е.Ф.Коддом у вигляді сукупності операторів, що виконуються над множинами кортежів (тобто відношеннями) і що забезпечують можливість опису типових запитів стосовно вмісту відношень. Спочатку сукупність операторів включала п’ять операцій над множинами: об’єднання, різниця, декартовий добуток, вибір і проекцію. Потім до них були додані реляційні операції над мультимножинами, операції з’єднання (join), сортування, агрегування і групування, операції для опису обмежень.

Операції реляційної алгебри можуть бути поділені на такі класи:

  1. Звичайні операції над множинами: об’єднання (union), пересічення (intersection), різниця (difference), які застосовуються до відношень.
  2. Операції видалення частин відношення: операція вибору (selection) призводить до відкидання деяких кортежів (рядків), а операція проекції (projection) – до усунення деяких атрибутів (стовпців).
  3. Операції сполучення кортежів двох відношень: наприклад, операція декартового добутку дозволяє сполучати у межах кортежів результуючого відношення усі можливі комбінації кортежів двох вихідних відношень, а різні різновиди операції з’єднання (join) застосовуються до вибіркового злиття кортежів.
  4. Операція перейменування (renaming) атрибутів або відношення цілком.

Алгебра реляційних операцій

Операція об’єднання – (рис.5.1).

R, S – відношення, які повинні задовольняти вимогам:

  • мати схеми з однаковими наборами атрибутів, типи (домени) яких повинні попарно співпадати;
  • атрибути (стовпці) повинні слідувати в однаковому порядку.
  • назви атрибутів повинні співпадати (якщо не співпадають, то перейменувати).

 

title year length filmtype studioName starName
Star Wаrs Color Fox Carrie Fisher
Wayne’s World Color Paramount Mike Meyers

 

Відношення R

 

title year length filmtype studioName starName
Star Wаrs Color Fox Carrie Fisher
Mighty Ducks Color Disney Emilio Estevez
Wayne’s World Color Paramount Mike Meyers

 

Відношення S

 

 

title year length filmtype studioName starName
Star Wаrs Color Fox Carrie Fisher
Mighty Ducks Color Disney Emilio Estevez
Wayne’s World Color Paramount Mike Meyers

 

Рис.5.1. Об’єднання відношень R і S

 

Відмітимо, що два однакові кортежі, що відповідають актрисі Керрі Фішер замінені одним. Аналогічна заміна у результуючому відношенні проведена і для кортежів актора Майка Мейерс

Операція пересічення – RS. Результуюче відношення приведене на рис.5.2

 

title year length filmtype studioName starName
Star Wаrs Color Fox Carrie Fisher
Wayne’s World Color Paramount Mike Meyers

 

Рис. 5.2. Пересічення відношень R і S

 

Операція різниця відношень – S-R. Результуюче відношення приведене на рис.5.3.

 

title year length filmtype studioName starName
Mighty Ducks Color Disney Emilio Estevez

 

Рис. 5.3. Різниця відношень S і R

 

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

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

 

title year length InColor studioName producerC#
Star Wаrs true Fox
Mighty Ducks true Disney
Wayne’s World true Paramount

 

Екземпляр відношення D

 

title year length
Star Wаrs
Mighty Ducks
Wayne’s World

 

Рис.5.4. Проекція відношення D

 

Приклад 5.1. Створити на основі операції проекції відношення D нове відношення (рис.5.4), що має містити три перших атрибути. Операція проекції записується у вигляді виразу

ptitle, year, length (D)

 

Оператор вибору.

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

Схеми результуючого і вихідного відношень співпадають, співпадає і порядок розташування атрибутів. Особливістю виразу С є те, що його операндами являються або константи, або назви атрибутів відношення D . Вираз С розраховується для кожного кортежу t відношення D, шляхом заміни всіх атрибутів, включених у вираз С, значеннями відповідних компонентів кортежу t. Якщо після виконання заміни умова С становиться істиною, тоді t включається до результуючого набору кортежів відношення sс(D); у протилежному випадку кортеж t у результат не потрапляє.

Приклад 5.2. Відношення, що є результатом застосування оператору вибору slength ³100(D), приведене на рис.5.5.

 

title year length InColor studioName producerC#
Star Wаrs true Fox
Mighty Ducks true Disney

 

Рис.5.5. Відношення slength ³100(D)

 

Як видно із кортежів відношення на рис.5.5., що утворилося шляхом застосування оператору вибірки до кортежів екземпляру відношення D (рис.5.4.) за допомогою перевірки умови відбору кортежів length ³ 100. Перевірка показала, що тільки кортежі 1 і 2 вихідного відношення D задовольняють умові відбору.

Декартовий добуток.

Операція позначається, як R х S .У ролі R і S виступають відношення, елементами яких є кортежі. Результатом операції є також відношення, кортежі якого створюються на основі компонентів обох вихідних відношень. Порядок слідування атрибутів у результуючому відношенні такий: спочатку вказуються атрибути відношення R , а потім – S. Схема відношення –результату R х S являється об’єднанням схем відношень R і S . Але, якщо відношення R і S мають однойменні атрибути, необхідно перейменувати по меншій мірі хоча би один атрибут із кожної пари однакових атрибутів. Для рисунків атрибути А можна перейменовувати за схемою R.А і S.А .

 

 

А В   В С D
 
 
     

Відношення R Відношення S

 

A R.B S.B C D

 

Рис.5.6. Відношення R і S та їх декартовий добуток

 

Натуральне з’єднання.

Операція натурального з’єднання двох відношень R і S (natural join) позначається як R S Вона передбачає включення у результуюче відношення тих кортежів із R і S , які співпадають в атрибутах, загальних для схем R і S .Результатом операції натурального з’єднання двох відношень R і S , відображених на рис. 5.6, буде екземпляр відношення на рис.5.7.

 

A B C D

 

Рис.5.7. Результат натурального з’єднання відношень R і S (рис.5.6.)

 

У загальному випадку спільними можуть бути не один, а декілька атрибутів відношень R і S.

Тета - з’єднання.

Операція тета - з’єднання відношень R і S передбачає такі дії:

  1. розраховується декартовий добуток відношень R і S ;
  2. із відношення - добутку вибираються ті кортежі, які задовольняють заданій умові С.

Операція тета - з’єднання позначається як

R S

С

Приклад 5.3. Виконати тета - операцію над відношеннями R і S .

R S

(A+C)³D

Екземпляри відношень R і S і їх декартовий добуток приведені на рис.5.6. Результуюче відношення тета - операції приведене на рис.5.8.

 

A R.B S.B C D

 

Рис.5.8. Результат виконання тета - операції стосовно Прикладу 5.3.

 

Зверніть увагу, що схема відношення на рис.5.8 містить усі п’ять атрибутів, і назви атрибутів В, спільних для відношень R і S, помічені префіксами “R” і “S”, які дозволяють розрізняти однойменні атрибути вихідних відношень. Таким чином операції натурального і тета - з’єднання розрізняються.

 

Набори операцій і формування запитів.

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

Вирази реляційної алгебри можуть містити:

  • оператори часткових виразів;
  • дужки, які задають порядок групування операндів;
  • представляти вирази у вигляді дерев часткових виразів;
  • лінійні записи часткових виразів

Приклад 5.4.

Необхідно визначити назви і дати випуску кінофільмів кіностудії Fox, тривалість показу яких не менше 100 хвилин. Засоби опису алгоритму отримання відповіді:

Описовий

  • вибрати із відношення Movie ті кортежі, які задовольняють умові length³100
  • вибрати із відношення Movie ті кортежі, які задовольняють умові

studioName=”Fox”;

  • розрахувати пересічення множин –відносин, отриманих при виконанні п.п.1,2;
  • здійснити проекцію результуючого відношення п.3 на атрибути title і year.

2. деревоподібний (рис.5.9), де вершини відображують операції реляційної алгебри і умови їх виконання (π - операція проекції, σ- операція вибору, ∩ - операція пересічення)

 

 
 

 


Рис.5.9 Дерево часткових виразів реляційної алгебри

 

3. традиційна лінійна формула із дужками має вид:

 

ptitle, year ( σ length100 (Movie) ∩ σ studioName = “Fox” (Movie))

 

можна записати той же вираз за допомогою логічного оператора (AND)

 

ptitle, year ( σ length100 AND σ studioName = “Fox” (Movie))