Функціональні залежності
Функціональна залежність це базове поняття, яке використовують при визначенні критеріїв якості схем БД і методів їх покращення.
Нехай задано відношення R, яке містить набори атрибутів А і В. У відношенні R набір атрибутів В функціонально залежить від А і А функціонально визначає В тоді й лише тоді, коли кожному значенню проекції R[A] у будь-який момент часу відповідає точно одне значення проекції R[B].
Означена вище функціональна залежність позначається як . Якщо належність А і В відношенню R відома апріорі, то пишеться Формально функціональна залежність означується так:
Поняття функціональної залежності може бути звужене на той випадок, коли А і В є окремими атрибутами.
Зауважимо, що наявність функціональної залежності є властивістю схеми, а не того чи іншого екземпляра відношення, і відображає семантику предметної області, що моделюється. Одним із базових понять у теорії нормалізації є поняття ключового набору атрибутів відношення. Розглядаються кілька різновидів ключів.
Набір К атрибутів відношення R називається можливим ключем, або квазіключем відношення R, якщо:
а) кожний атрибут відношення R функціонально залежить від К;
б) жоден атрибут з набору К не може бути видалений так, щоб не порушувалась властивість (а).
У формальному вигляді це означення записується так. Нехай М — повний набір атрибутів відношення R. Підмножина атрибутів К відношення R є можливим ключем, якщо:
Символ вказує на те, що функціональна залежність відсутня.
У будь-якому відношенні існує принаймні один можливий ключ, оскільки набір усіх атрибутів відношення задовольняє властивість (а), а потім цей набір можна «стиснути» так (відкидаючи надлишкові атрибути), щоб він задовольняв властивість (б).
Оскільки у відношенні може існувати більше одного ключа, то один із них називається первинним. Будь-який із можливих ключів може бути первинним.
Множина атрибутів, що містить можливий ключ, називається суперключем. Атрибути, які входять до складу можливого ключа відношення, називаються ключовими; атрибути, які належать первинному ключу, — первинними, решта — непервинними, або вторинними.
Стосовно заданого реляційного відношення R ми можемо розглядати множину функціональних залежностей F, які визначені на ньому.
Як довів У. Армстронг, множина функціональних залежностей F має певні властивості, що перелічені в табл. У лівому стовпці таблиці згадані властивості записані в аналітичному вигляді, у правому — в графічному. Більшість тверджень тут наведено у формі «якщо ... , то ... », яку слід розуміти так: якщо деякі функціональні залежності належать множині F, то цій множині належать і ті залежності, що вказані після слова «то».
Не всі з наведених властивостей є незалежними, а саме властивості (4)-(8) виводяться з (1), (2), (3), які утворюють повну систему аксіом функціональних залежностей.
Нехай на відношенні R визначено множину функціональних залежностей F та залежність , яка не належить F. Залежність логічно випливає з множини F, якщо вона може бути виведена з F за допомогою аксіом функціональних залежностей. Кажуть також, що залежність виводиться з F або є логічним наслідком F.
Наприклад, якщо R = (А,В,С) і множина F складається з залежності , то з F логічно випливають такі залежності:
– за властивістю продовження;
– за властивістю поповнення.
Припустимо, що на відношенні R задано множину функціональних залежностей F. Множина всіх функціональних залежностей, кожна з яких є логічним наслідком F, називається логічним замиканням F, вона позначається як . Очевидно, що
Усі функціональні залежності, що належать замиканню, можуть бути отримані з початкової множини F застосуванням властивостей (1), (2), (3), тому ці властивості іноді називають правилами виведення.
Множина функціональних залежностей F є повною, якщо F = F*.
Дві множини залежностей F і G називаються логічно еквівалентними, якщо
Нехай задано множину функціональних залежностей F. Множина функціональних залежностей G є базисом, або мінімальним покриттям множини F, якщо G є такою підмножиною F, що , а жодна підмножина G цієї властивості немає.
- Лекція №6 Нормалізація реляційних відношень. Функціональні залежності
- Функціональні залежності
- Нормальні форми реляційного відношення
- Лекція №7 Нормалізація реляційних відношень. Нефункціональні залежності
- Нефункціональні залежності
- Проектування схеми реляційної бази даних
- Лекція 8 Проектування баз даних
- Методологія проектування баз даних
- Етапи проектування бази даних