У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Лекція 5

Базисні засоби маніпулювання реляційними даними

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

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

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

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

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

Справа в тому, що вони розрізнюються рівнем процедурності. Вирази реляційної алгебри будуються на основі алгебраїчних операцій (високого рівня), і подібно тому, як інтерпретуються арифметичні і логічні вирази, вираження реляційної алгебри також має процедурну інтерпретацію. Іншими словами, запит, представлений на мові реляційної алгебри, може бути обчислений на основі обчислення елементарних алгебраїчних операцій з урахуванням їх старшинства і можливої наявності дужок. Для формули реляційного числення однозначна інтерпретація, взагалі кажучи, відсутній. Формула тільки встановлює умови, яким повинні задовольняти кортежі результуючого відношення. Тому мови реляційного числення є більш непроцедурними або декларативними.

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

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

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

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

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

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

об'єднання відносин; перетину відносин; взяття різниці відносин; прямого вироблення відносин.

Спеціальні реляційні операції включають:

обмеження відношення; проекцію відношення; з'єднання відносин; ділення відносин.

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

5.1.1. Загальна інтерпретація реляційних операцій

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

При виконанні операції об'єднання двох відносин проводиться відношення, що включає всі кортежі, що входять хоч би в одне з відносин-операндів. Операція перетину двох відносин проводить відношення, що включає всі кортежі, що входять в обидва відношення-операнди. Відношення, те, що є різницею двох відносин включає всі кортежі, що входять у відношення - перший операнд, такі, що жоден з них не входить у відношення, що є другим операндом. При виконанні прямого вироблення двох відносин проводиться відношення, кортежі якого є конкатенацією (зчепленням) кортежів першого і другого операндів. Результатом обмеження відношення по деякій умові є відношення, що включає кортежі відношення-операнда, що задовольняє цій умові. При виконанні проекції відношення на заданий набір його атрибутів проводиться відношення, кортежі якого проводяться шляхом взяття відповідних значень з кортежів відношення-операнда. При з'єднанні двох відносин по деякій умові утвориться результуюче відношення, кортежі якого є конкатенацією кортежів першого і другого відносин і задовольняють цій умові. У операції реляційного ділення два операнди - бінарне і унарне відносини. Результуюче відношення складається з одноатрибутивних кортежів, що включають значення першого атрибута кортежів першого операнда таких, що безліч значень другого атрибута (при фіксованому значенні першого атрибута) співпадає з безліччю значень другого операнда. Операція перейменування проводить відношення, тіло якого співпадає з
Сторінки: 1 2 3 4 5