logo search
Lection_6_7_8

Проектування схеми реляційної бази даних

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

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

Формалізуємо задачу проектування реляційної схеми. Нехай задано реляційну схему S0 одного (універсального) реляційного відношення R:

де U - множина атрибутів, а G - множина функціональних і багатозначних залежностей. Необхідно знайти еквівалентну реляційну схему сукупності відно­шень

яка була б у певному розумінні кращою за схему S0

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

Процедура декомпозиції схеми реляційного відношення

Декомпозицією реляційного відношення R зі схемою R(М), де М — множина атрибутів, називається процедура поділу R на множину відношень зі схемами , що відповідають таким умовам:

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

Усі відношення , мають бути проекціями відношення R на атрибути, що містяться в , тобто .

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

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

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

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

Еквівалентність відношень

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

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

Отже, множина залежностей відношення R породжується множинами залежностей проекцій.

2. Дві сукупності відношень відображують одну й ту саму інформацію, якщо вони містять одні й ті самі дані.

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

Декомпозиція без втрат даних

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

або

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

Нехай задано: множина функціональних залежностей та початкове й кінцеві відношення. Процедура полягає в побудові таблиці, рядки якої відповідають от­риманим у результаті поділу відношенням, а стовпці — атрибутам початкового відношення . Комірка заповнюється символами якщо елемент, розташований в і-му рядку й j-му стовпці, відповідає атрибуту відношення інакше в комірці записується . Після заповнення таблиці здійснюється перегляд усіх атрибутів, що розташовані в лівій частині кожної функціональної залежності . Якщо для атрибутів з X знайдуться рядки, де у відповідних місцях розташовані , то елементи цих рядків, відповідні стовпцям атрибутів з , замінюються на . Якщо в результаті з'явиться рядок таблиці, повністю з . Після декомпозиції схема є такою:

Початкова таблиця виглядає так:

Розглянемо функціональну залежність . Таблиця перетвориться на таку:

Розглянемо :

Обробка залежності результатів не дає. Розглядаємо

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

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

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

Розглянемо відношення НАВЧАННЯ (Студент, Предмет, Викладач), яке ми наводили при обговоренні НФБК. Це відношення містить залежності (Студент, Предмет) ->Викладач і Викладач -> Предмет.

При поділі НАВЧАННЯ на відношення ВИКЛАДАННЯ (Студент, Викладач) і ДИСЦИПЛІНА( Викладач, Предмет) втрат даних не буде, оскільки поділ здійснено за залежністю Викладач -> Предмет, проте залежність (Студент, Предмет) ->Викладач у результаті буде втрачено.

Можна також навести інший приклад декомпозиції, що зберігає залежності, але не дані. Нехай у відношенні R(А,В,С,D) є одна залежність А ->В, тоді деком­позиція відношення на і цю залежність збереже, але дані - ні (зв'язок між усіма чотирма атрибутами втрачається).

Еквівалентність нормальних форм

Виявляється, що будь-яка схема відношення може бути зведена до НФБК так, щоб декомпозиція мала властивість з'єднання без втрат. Можливе також зведення до 3НФ без втрат даних та зі збереженням залежностей. Проте схема відношення може виявитися такою, що не зводиться до НФБК зі збереженням залежностей. Наприклад, відношення R (А,В,С) з функціональними залежностями , яке перебуває в 3НФ, може бути зведено до нормальної форми Бойса-Кодда в єдиний спосіб: . Тут еквівалентність за даними зберігається, а еквівалентність за функціональними залежностями — ні, оскільки втрачається залежність .

Отже, використовуючи нормальні форми під час проектування, слід пам'ятати, що до 3НФ перетворення можна виконувати зі збереженням еквівалентності за залежностями і даними. Проте під час отримання нормальної форми Бойса-Кодда може втрачатися еквівалентність за функціональними залежностями.

Критерій якості реляційної схеми

Спробуємо розібратися, що означає вислів «одна реляційна схема краща за іншу». Тут можна говорити про критерії незалежності відображень зв'язків і ненадлишковості даних і, як наслідок, про відсутність можливих аномалій маніпулювання даними. Фактично якість схеми можна оцінити за допомогою нормальних форм відношень. Що вищою є нормальна форма, в якій перебуває сукупність відношень, то більш незалежними є відображені в її відношеннях зв'язки між атрибутами. Бажано також, щоб кількість кінцевих реляційних відношень була щонайменшою.