Функціональна залежність
Функціональна залежність (далі часто ФЗ) — концепція, що лежить в основі багатьох питань, пов'язаних з реляційними базами даних, включаючи, зокрема, їхнє проектування. Математично являє собою бінарне відношення між множинами атрибутів даного відношення і є, по суті, зв'язком типу «один-до-багатьох». ФЗ забезпечує основу для наукового підходу до розв'язання деяких проблем, оскільки володіє багатим набором цікавих формальних властивостей.
Визначення
Функціональна залежність
Нехай маємо відношення зі схемою (заголовком) , і — деякі підмножини множини атрибутів відношення . Множина функціонально залежить від тоді і тільки тоді, коли кожне значення множини зв'язане точно з одним значенням множини . Іншими словами, якщо два кортежі збігаються за атрибутами , то вони збігаються і за атрибутами .
У такому разі — детермінант, — залежна частина.
ФЗ називається тривіальною, якщо залежна частина є підмножиною детермінанта.
Замикання множини залежностей
Одні функціональні залежності можуть припускати інші функціональні залежності. Наприклад,
- .
Множина всіх ФЗ, які припускаються даною множиною ФЗ називається замкненням множини .
Замикання множини атрибутів
Нехай — деяка множина атрибутів відношення , а — множина функціональних залежностей цього відношення. Замкненням множини атрибутів в межах називається така множина атрибутів відношення , що функціональна залежність є членом замкнення .
Незвідні множини залежностей
Нехай і — деякі множини функціональних залежностей.
- Якщо будь-яка функціональна залежність з входить і в , тоді називають покриттям множини функціональних залежностей .
- Якщо — покриття для , а — для (тобто ), тоді такі множини називаються еквівалентними.
- Множина ФЗ називається незвідною тоді і тільки тоді, коли виконуються наступні вимоги:
- В кожній ФЗ залежна частина містить лише один елемент;
- Детермінант кожної ФЗ є незвідним (ні один атрибут не може буди видаленим з детермінанта без зміни замкнення );
- Жодну ФЗ з не можна виключити без зміни замкнення .
- Для будь-якої множини ФЗ існує не менше ніж одна еквівалентна множина, яка є незвідною. Така множина називається незвідним покриттям.
Обчислення замкнень
Правило виводу Армстронга
В 1974 Вільям Армстронг запропонував набір правил виводу нових ФЗ на основі даних.
Нехай у нас є відношення і множини атрибутів . Для скорочення запису замість будемо писати просто .
- Рефлексивність:
- Поповнення:
- Транзитивність:
Правила виводу Армстронга повні (з їхньою допомогою можна вивести решту ФЗ, що маються на увазі даною множиною) і надійні («зайвих» ФЗ вивести не можна; виведена ФЗ справедлива всюди, де справедлива та множина ФЗ, з якої вона була виведена).
Крім того, з даних правил досить просто виводяться, декілька додаткових правил, які спрощують задачу виведення ФЗ.
- Самовизначення:
- Декомпозиція:
- Об'єднання:
- Композиція:
- Теорема загального об'єднання Дарвена:
Теорема: ФЗ вивідна з даної множини ФЗ за правилами виводу Армстронга тоді і тільки тоді, коли .
Замкнення множини атрибутів
Якщо застосовувати правила з попереднього розділу до того часу коли утворення нових ФЗ не припиниться, то ми отримаємо замкнення для даної множини ФЗ. На практиці рідко вимагається знаходити це замкнення само по собі, частіше за все нам набагато цікавіше дізнатися, чи входить та або інша ФЗ в замкнення. Для цього нам достатньо вирахувати замкнення детермінанта. Для цього існує доволі простий алгоритм.
- Нехай — множина атрибутів, яка врешті-решт стане замкненням.
- Здійснюємо пошук ФЗ виду , де , а . Залежну частину кожної ФЗ додаємо в .
- Повторюємо пункт 2, доки до множини буде неможливо додати атрибути.
- Множина , до якої неможливо додати атрибути і буде замкненням.
Застосування
Проектування БД
ФЗ є обмеженнями цілісності і визначають семантику даних, що зберігаються. При кожному оновленні СКБД повинна перевіряти їхнє дотримання. Значить, наявність великої кількості ФЗ небажане, інакше це призводить до уповільнення роботи. Для спрощення задачі необхідно скоротити набір ФЗ до мінімально необхідного.
Якщо є незвідним покриттям початкової множини ФЗ , то перевірка виконання ФЗ з автоматично гарантує виконання всіх ФЗ з . Таким чином, задача пошуку мінімально необхідного набору зводиться до пошуку незвідного покриття множини ФЗ, яке і буде використовуватись замість початкової множини.
Теорема Хіта
Нехай дане відношення .
Якщо задовольняє функціональній залежності , тоді воно дорівнює поєднанню його проекцій і .
Література
- «An Introduction to Database Systems» C. J. Date. ISBN 0-321-19784-4 (англ.)