5.Реляційна алгебра.
Початковий огляд; традиційні операції над множинами; спеціальні реляційні операції; операції розширення і підведення підсумків; оператори оновлення; реляційні порівняння.
Формальною основою реляційної моделі БД є реляційна алгебра, що заснована на теорії множин і розглядає спеціальних операторів над відносинами, і реляційне числення, що базується на математичній логіці.
Мал. 9. Основні оператори реляційної алгебри.
Основних операторів в реляційній алгебрі вісім, і схематично їх можна представити так, як це показано на мал. 9.
Треба відзначити, що реляційна алгебра володіє великою потужністю - складні запити до БД можуть бути виражені за допомогою одного виразу. Саме з цієї причини ці механізми включені в реляційну модель даних. Конкретна мова маніпулювання реляційними БД називається реляційно-повним, якщо будь-який запит, що виражається за допомогою одного виразу реляційної алгебри або однієї формули реляційного числення, може бути виражений за допомогою одного оператора цієї мови.
Реляційна алгебра володіє важливою властивістю - вона замкнута щодо поняття відношення. Це означає, що вирази реляційної алгебри виконуються над відносинами реляційних БД і результати їх обчислення також є відносинами. Тому будь-який вираз може бути представлене як відношення, що дозволяє використовувати його в інших виразах реляційної алгебри
Основна ідея реляційної алгебри полягає в тому, що засоби маніпулювання відносинами, що розглядаються як множини, засновані на традиційних множинних операціях, доповнених деякими специфічними операціями для БД.
Існує багато підходів до визначення реляційної алгебри, які розрізняються набором операцій і способами їх інтерпретації, але в принципі всі вони більш менш рівносильні. Опишемо варіант алгебри, який був запропонований Код-будинок В цьому варіанті, як вже було показано вище, набір операцій алгебри складається з восьми основньгх:
- вибірка відношення;
- проекція відношення;
- об'єднання відносин;
- перетин відносин;
- віднімання відносин
- створення відносин.
- з'єднання відносин;
- ділення відносин.
Ці операції можна пояснити таким чином:
- результатом вибірки відношення по деякій умові є відношення, яке включає тільки ті кортежі первинного відношення, які задовольняють цій умові;
- при здійсненні проекції відношення на заданий набір його атрибутів буде отримано відношення, кортежі якого узяті з відповідних кортежів первинного відношення;
- при виконанні операції об'єднання двох відносин буде отримано відношення, що включає всі кортежі, що входять хоч би в одне з тих, що беруть участь в операції відношенні;
- як результат операції перетину двох відносин виходить відношення, що включає всі кортежі, що входять в обидва первинні відношення.
- відношення, що є різницею двох відносин, включає всі кортежі, що входять в перше відношення і одночасно такі, що жоден з них не входить у відношення, що є другим;
- при виконанні прямого твору двох відносин виходить відношення, кортежі якого є еоче* танием кортежів першого і другого відношення;
- при з'єднанні двох відносин по деякій умові утворюється результуюче відношення, кортежі якого є поєднанням кортежів перших і других відносин, що задовольняє цій умові;
- операція реляційного ділення має два операнди - бінарні (тобто що складається з двох атрибутів) і унарні (містить один атрибут) відносини. Результат операції віднощення, що складається з кортежів, що включають значення першого атрибуту кортежів першого відношення, причому таких, що безліч значень другого атрибуту співпадає з безліччю значень другого відношення.
Крім вищеперелічених, є ряд особливих операцій, характерних для роботи з БД:
- як результат операції перейменування виходить відношення, набір кортежів якого співпадає з тілом первинного відношення, але імена атрибутів змінені;
- операція привласнення дозволяє зберегти результат обчислення реляційного виразу в існуючому відношенні БД.
