Основи реляційної алгебри
Реляційна модель баз даних надає можливість маніпулювати над доменами відношень. Для цих цілей існує два види апаратів маніпулювання відношеннями: реляційна алгебра (алгебра відношень) і реляційне обчислення (обчислення відношень).
Алгеброю відношень називають систему операцій маніпулювання відношеннями, кожний оператор якого в якості операнда (операндів) використовує одне чи більше відношень і утворює нове відношення за попередньо обумовленим правилом.
Реляційне обчислення дозволяє шляхом використання обчислення предикатів та кванторів змінних описувати відношення та операції над ними в вигляді аналітичного виразу або формули.
У реляційній алгебрі використовують п’ять основних операцій: об’єднання, різниця, декартовий добуток, проекція і селекція.
Проекція. Суть цієї операції полягає в тому, що береться відношення R, видаляються деякі з його компонентів і перевпорядковуються компоненти, що залишились. Якщо в результаті проекції з’являються однакові кортежі, то вони з результуючого відношення вилучаються. Операція проекції полягає в видаленні необхідних стовпців (доменів) з відношення. Нехай дано відношення СТУДЕНТ-УСПІШНІСТЬ (табл.9.1).
Таблиця 9.1
Студент-успішність
В результаті виконання операції проекції отримуємо нове відношення, яке подано в табл. 9.2.
Таблиця 9.2
Приклад операції "проекція"
Об’єднання. Об’єднання відношень R і S (позначаться R U S) представляє собою множину кортежів, які належать R чи S або їм обом. Оператор об’єднання застосовується тільки до відношень однакової арності. Якщо в результаті об’єднання відношень мають місце однакові кортежі, то вони заміняються одним.
Нехай задано два відношення, подані таблицями 9.3, 9.4. Виконаємо над ними операцію об’єднання.
Таблиця 9.3
Викладачі-дисципліни
Таблиця 9.4
Викладачі-дисципліни
В результаті об’єднання відношень отримуємо результуюче відношення, яке подано в табл.9.5.
Таблиця 9.5
Викладачі-дисципліни
Різниця. Різницею відношення R і S (позначається як R - S), називається множина кортежів, які належать R, але не належать S (рис.9.1). При реалізації різниці необхідно, щоб R і S мали одну і ту ж саму арність.
Рис. 9.1. - Графічна ілюстрація операції різниці відношень
Якщо А - відношення про жителів мікрорайону, В - відношення про тих, хто пройшов медичний огляд, то відношення А - В буде містити дані про тих жителів мікрорайону, хто не пройшов медичний огляд.
Декартовий добуток. Нехай R і S - відношення арності k1 і k2 відповідно. Тоді декартовим добутком відношень R і S називається множина кортежів довжини (k1 + k2), перші k1 компонентів яких утворюють кортежі, які належать R, а останні k2 - кортежі, що належать S.
Наприклад:
Таблиця 9.6
Декартовий добуток відношень СТУДЕНТИ
Результатом декартового добутку відношень СТУДЕНТИ (Табл. 9.6) та ЕКЗАМЕНИ (Табл. 9.7) буде відношення ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ (Табл. 9.8).
Таблиця 9.7
ЕКЗАМЕНИ
Таблиця 9.6 - СТУДЕНТИ |
Таблиця 9.8
ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ
Селекція. Нехай F - формула, яка може бути утворена такими засобами: а) операндами, які є константами чи номерами компонентів; б) арифметичними операторами порівняння <, =, >, ; в) логічними операторами & (І), (АБО), (НІ).
В цьому випадку Ef (R) є множина кортежів t, які належать R, таких, що при підстановці i-го компонента t замість будь-якого входження номера i в формулу F для всіх i вона стане істиною. Наприклад, E2 > 3 (R) означає множину кортежів, що належать R, другий компонент яких більше третього компонента.
Таблиця 9.9
Відношення
При реалізації селекції відношення, приведеного в табл.9.9, згідно з ознакою (вік > 20), отримуємо відношення (табл.9.10):
Таблиця 9.10
Відношення, над яким виконано операцію селекції
Крім перерахованих операцій існують і інші, але їх можна отримати з п’яти основних.
Розглянемо неосновні операції перетину та ділення.
Перетин R S двох відношень R та S знаходиться згідно формул (R - (R - S)). Нехай R та S є відношення арності r і s відповідно, де (r > s) і S { }. Тоді частка R S є множина кортежів t довжини (r - s) таких, що для всіх кортежів u довжини s, які належать S, кортеж tu належить R. Виконаємо операцію ділення над відношеннями, які подані відповідно таблицями 9.11 та 9.12.
Таблиця 9.11
Екзаменаційна відомість
Таблиця 9.12
Відношення
В результаті отримуємо частку (табл.9.13).
Таблиця 9.13
Дата добавления: 2016-07-22; просмотров: 2281;