logo
Lection_6_7_8

Нефункціональні залежності

Найбільш сильним критерієм якості схеми реляційної бази даних, який можна сформулювати виходячи з поняття функціональної залежності, є нормальна форма Бойса-Кодда. Проте між атрибутами відношення можуть існувати не лише функціональні залежності. Узагальненням цього поняття є багатозначна залежність, через яку означується четверта нормальна форма. Так само, узагальненням поняття багатозначної залежності є залежність за з'єднанням — це поняття застосовується в означенні п'ятої нормальної форми. 5НФ є остаточною щодо операції проекції, тобто якщо відношення перебуває у 5НФ, воно не містить аномалій, які можуть бути усунені шляхом його поділу на проекції. Це не означає, що відношення у 5НФ зовсім не містить аномалій.

Багатозначні залежності

У реляційній моделі функціональних залежностей недостатньо для відображення всіх семантичних особливостей предметних областей. У зв'язку з цим було введено поняття багатозначної залежності. Розглянемо це поняття на прикладі відношення ЛЕКЦІЯ з атрибутами Предмет, Викладач, Підручник (рис. 1). Воно перебуває в 3НФ, оскільки до складу його ключа входять усі три атрибути, між якими немає функціональних залежностей. Воно перебуває також у НФБК. Інтерпретація цього реляційного відношення є такою: «Даний предмет викладають певні викладачі й для читання лекцій з цього предмета рекомендовані вказані підручники».

Рис. 1 Відношення ЛЕКЦІЯ в НФБК

Ми не випадково зобразили атрибути відношення ЛЕКЦІЯ у вигляді ієрархічної структури, оскільки саме вона найадекватніше відображує зміст зв'язків між цими атрибутами. У нас немає конкретної інформації про зв'язок викладачів з підручниками, ми не знаємо за яким підручником той чи інший викладач викладає конкретну дисципліну. Проте під час наповнення цієї таблиці ми маємо в кожному її рядку вказати значення всіх трьох атрибутів, оскільки ці атрибути є ключем, а значення ключових атрибутів завжди мають бути визначеними. Отже, така ситуація є аномальною.

Дану проблему можна вирішити так: якщо з предметом, наприклад «БД», пов'язані викладачі Іванов і Петров та підручники «Основи БД», «Вступ до БД» і «Теорія БД», то у відношенні кожний із цих викладачів повинен бути пов'язаний (асоційований) з кожним підручником:

Інакше кажучи, ми повинні констатувати таку семантику зв'язку між викладачами і підручниками: «Цей предмет викладають такі викладачі й для читання лекцій з цього предмета всі вони використовують усі вказані підручники».

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

Незалежність викладачів від підручників і навпаки, а також тлумачення такої незалежності згідно з наведеною вище тезою свідчить, що у відношенні ЛЕКЦІЯ множина підручників, пов'язаних із конкретним предметом, збігається з множиною підручників, які пов'язані з парою значень (Предмет, Викладач). Так, із предметом «Бази даних» пов'язані три підручники, ці ж три підручники пов'язані з парами значень (Бази даних, Іванов) і (Бази даних, Петров). І навпаки, множина викладачів, пов'язаних із конкретним предметом, збігається з множиною викладачів, пов'язаних із парою значень (Предмет, Підручник).

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

У зв'язку з цим було введено поняття багатозначної залежності.

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

Наприклад, у відношенні ЛЕКЦІЯ атрибути Викладач і Підручник багатозначно залежать від атрибута Предмет (Предмет→→Викладач, Предмет→→Підручник). Дамо більш строге означення поняття багатозначної залежності.

Нехай реляційне відношення R означено на множині атрибутів М. Припустимо також, що А та В — підмножини М, що можуть перетинатися. Позначимо через BR(а) множину проекцій за атрибутами В тих кортежів відношення R, проекція яких за атрибутами А дорівнює а, тобто:

Нехай . Тоді в R має місце багатозначна залежність , якщо

Іншими словами, сукупність значень атрибутів В, яка належить кортежам відношення R із заданим значенням а атрибутів А, присутня також у множині кортежів відношення R із заданими значеннями атрибутів А і С. Отже, множина значень В для заданого а не залежить від значень С.

Будь-яка функціональна залежність є багатозначною, але не навпаки. Функціональна і багатозначна залежності відрізняються, адже функціональна залежність визначається тільки через А і В, існування ж багатозначної залежності є властивістю всієї сукупності атрибутів R.

Аксіоми багатозначної залежності

Наведемо аксіоми, якими визначаються властивості багатозначних залежностей.

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

  1. Якщо , то – доповнення.

  2. Якщо і , то – поповнення.

  3. Якщо і , то – транзитивність.

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

  5. Якщо , то – реплікація.

  6. Якщо і , і для деякого , що не перетинається з , маємо , то – з’єднання.

  7. Нарешті, багатозначна залежність має такі додаткові властивості (тут літерами А, В, С позначені довільні множини атрибутів певного відношення R).

  8. Якщо і , то – об’єднання.

  9. Якщо і , то – псевдотранзитивність.

  10. Якщо і , то – змішана псевдотранзитивність.

  11. Якщо і , то – різниця і перетин.

Четверта нормальна форма

Узагальнення нормальної форми Бойса-Кодда, що називається четвертою нормальною формою, базується на понятті багатозначної залежності. Перш ніж сформулювати означення 4НФ, введемо поняття тривіальної багатозначної залежності. Багатозначна залежність у відношенні R називається тривіальною, якщо або R визначено на множині атрибутів . Тривіальні багатозначні залежності властиві будь-яким відношенням.

Реляційне відношення R перебуває в четвертій нормальній формі — 4НФ, якщо з існування в ньому нетривіальної багатозначної залежності випливає, що X є суперключем R.

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

Теорема, доведена Р. Фейджином, вказує спосіб зведення відношення до 4НФ.

Теорема Фейджина

Нехай реляційне відношення R складається з атрибутів (або множин атрибутів) А,В,С. Залежність має місце у відношенні R тоді й лише тоді, коли (R є природним з'єднанням проекцій R [А, В] та R [А, С].

Алгоритм зведення до 4НФ

Припустимо, що задане відношення R з атрибутами А,В,С, де А не є суперключем R, і є багатозначна залежність . Тоді відношення R підлягає декомпозиції на два відношення: та . Якщо отримані відношення все ще не перебувають у 4НФ, до них знову застосовується це правило.

Приховані багатозначні залежності

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

Залежності за з'єднанням

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

Залежність за з'єднанням є тривіальною, якщо Мi = R для певного і.

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

Кожна залежність за з'єднанням вигляду у відношенні зі схемою є еквівалентною багатозначним залежностям та . Проте існують залежності за з'єднанням, які не є еквівалентними багатозначним залежностям. Найпростішим прикладом залежності за з'єднанням на схемі

Наведена далі таблиця містить залежність за з'єднанням , що можна перевірити, обчисливши вираз

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

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

П'ята нормальна форма

Реляційне відношення перебуває в п'ятій нормальній формі (5НФ) тоді й тільки тоді, коли в кожній його нетривіальній залежності за з'єднанням будь-яка множина М, є можливим ключем R. Цю нормальну форму також називають проекційно-з'єднувальною нормальною формою.

Оскільки, будь-яка пара багатозначних залежностей з однаковою лівою частиною є також залежністю за з'єднанням, то будь-яка схема відношення, що перебуває в 5НФ, також перебуває і в 4НФ.