Залежність з'єднання
Залежність з'єднання — обмеження на множину можливих вірних відношень над схемою бази даних. Таблиця T є об'єктом залежності з'єднання, якщо T може бути відтворене з'єднанням декількох таблиць, кожна з яких містить підмножину атрибутів T. Якщо одна з таблиць у з'єднанні містить всі атрибути T, залежність з'єднання називається тривіальною.
Залежність з'єднання відіграє важливу роль у п'ятій нормальній формі, також відомій як проекційно-з'єднувана нормальна форма, бо можна довести, що якщо розбити схему на таблиці .. , розбиття буде розбиттям без втрат, якщо обмежити множину вірних відношень на залежністю з'єднання .
Формальна визначення
Нехай це схема відношення і нехай це декомпозиція .
Відношення задовільняє залежності з'єднання , якщо .
Залежність з'єднання тривіальна, якщо одне з це сама .
Приклад
Розглянемо відношення Користувач, яке відтворює купівлі: { номер-замовлення, ім'я-користувача, назва-піци, ім'я-розношувача }. Вочевидь, ми можемо отримати наступні три відношення:
- ім'я-користувача залежить від номер-замовлення
- назва-піци залежить від номер-замовлення
- ім'я-розношувача залежить від номер-замовлення
Через те, що зв'язки незалежні можна сказати, що тут є наступна залежність з'єднання: *((номер-замовлення, ім'я-користувача), (номер-замовлення, назва-піци), (номер-замовлення, ім'я-розношувача)).
Однак, якщо кожний користувач має особистого розношувача, можна отримати наступну залежність з'єднання : *((номер-замовлення, ім'я-користувача), (номер-замовлення, ім'я-розношувача), (ім'я-користувача, ім'я-розношувача), (номер-замовлення, назва-піци)), хоча *((номер-замовлення, ім'я-користувача, ім'я-розношувача), (номер-замовлення, назва-піци)) буде вірною також. Звідси видно, що наявність залежності з'єднання недостатня умова нормалізації схеми бази даних.
Примітки
- Silberschatz, Korth. Database System Concepts, 1st Edition