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

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Залежність з'єднання — обмеження на множину можливих вірних відношень над схемою бази даних. Таблиця T є об'єктом залежності з'єднання, якщо T може бути відтворене з'єднанням декількох таблиць, кожна з яких містить підмножину атрибутів T. Якщо одна з таблиць у з'єднанні містить всі атрибути T, залежність з'єднання називається тривіальною.

Залежність з'єднання відіграє важливу роль у п'ятій нормальній формі, також відомій як проєкційно-з'єднувана нормальна форма, бо можна довести, що якщо розбити схему R на таблиці R1 .. Rn, розбиття буде розбиттям без втрат, якщо обмежити множину вірних відношень на R залежністю з'єднання *(R1,R2,...Rn).

Формальна визначення

Нехай R це схема відношення і нехай R1,R2,...,Rn це декомпозиція R.
Відношення r(R) задовільняє залежності з'єднання *(R1,R2,...Rn), якщо i=1nΠRi(r)=r.
Залежність з'єднання тривіальна, якщо одне з Ri це сама R.

[1]

Приклад

Розглянемо відношення Користувач, яке відтворює купівлі: { номер-замовлення, ім'я-користувача, назва-піци, ім'я-розношувача }. Вочевидь, ми можемо отримати наступні три відношення:

  • ім'я-користувача залежить від номер-замовлення
  • назва-піци залежить від номер-замовлення
  • ім'я-розношувача залежить від номер-замовлення

Через те, що зв'язки незалежні можна сказати, що тут є наступна залежність з'єднання: *((номер-замовлення, ім'я-користувача), (номер-замовлення, назва-піци), (номер-замовлення, ім'я-розношувача)).

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

Примітки

Шаблон:Reflist

Шаблон:Нормалізація баз даних


Шаблон:Database-stub

  1. Silberschatz, Korth. Database System Concepts, 1st Edition