Багатозначна залежність - студопедія

Багатозначна залежність і четверта нормальна форма

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

Розглянемо зміст цієї залежності на прикладі ставлення Лекція з Атрібі-та-ми Предмет, Викладач, Підручник. Воно знаходиться в 3NF, так як між атрі-бу-та-ми немає функціональних залежностей і ключем є все три атрі-бу-та. Сенс цього відносини наступний: "Даний предмет викладають такі-то викладачі і для читання лекцій з цього предмету рекомендовані для використання зазначені підручники".

Ми не випадково представили ці атрибути у вигляді ієрархічної структури, так як саме вона найбільш адекват-но відображає сенс зв'язків між зазначеними атрибутами. У нас немає конкретної інформації про зв'язок преподавате-лей з підручниками, ми не знаємо з якого підручника той чи інший викладач викладає конкретну дисципліну. Проте, при поданні цього відносини ми повинні в кожному його кортежі вказати значення всіх трьох атрибутів (принаймні тому, що ці атрибути становлять ключ, а значення ключових атрибутів завжди повинні бути визначені). Єдиним виходом з даної ситуації є наступний: якщо з предметом, наприклад БД, пов'язані викладачі Іванов і Петров і підручники Основи БД, Введення в БД і Теорія БД, то щодо кожен з цих викладачів повинен бути пов'язаний (асоційований) з кожним підручником, як це показано на прикладі нижче. Іншого виходу немає.

Іншими словами, ми повинні констатувати наступну семантику зв'язку між викладачами та підручника-ми: "Даний предмет викладають такі-то викладачі і для читання лекцій з цього предмету все вони викорис-зу - ю-т ВСЕ зазначені підручники".

Ми тут приходимо до наступної тези:

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

Відзначимо, що незалежність викладачів від підручників і навпаки, а також трактування такої незалежності згідно з наведеним вище тези свідчить, що в нашому ставленні Лекції атрибути Викладач і Підручники мають наступну важливу властивість:

Безліч підручників, які пов'язані з конкретним предметом, збігається з безліччю підручників, які пов'язані з парою значень <предмет, преподаватель> (З предметом "БД" пов'язані три підручника, ці ж три підручника пов'язані з парами значень <"БД","Иванов"> і <"БД","Петров">). І навпаки, безліч викладачів, які пов'язані з конкретним предметом, збігається з безліччю викладачів, які пов'язані з парою значень <предмет, учебник>.

Дана властивість є принциповим в розумінні багатозначною залежності.

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

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

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

Наприклад, щодо Лекція атрибут Викладач багатозначно залежить від атрибута Предмет (Предмет ®® Викладач) і атрибут Підручник багатозначно залежить від Предмет (Предмет ®® Підручник).

Дамо формальне визначення багатозначною залежності. Нехай відношення R визначено на безлічі атрибутів M і А, В - підмножини М, причому А і В можуть перетинатися. Визначимо через ВR (а) безліч проекцій кортежів відносини R по атрибутам В, які пов'язані з конкретним кортежем, спроектовані по атрибутам А, тобто:

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

Іншими словами, сукупність значень атрибутів В, яка з'являється в кортежі відносини R з Хадано значенням а атрибутів А, з'являється також з кожної комбінацією значень а і з Î З, ас Î R [A, C]. Таким чином, безліч значень В для заданого а не залежить від значень С, з'являються разом з а.

За визначенням А ®® Æ для будь-якої сукупності атрибутів А з R. Більш того вседа має місце А ®® В, якщо R визначено тільки на безлічі атрибутів А В. Ці два види багатозначних залежностей називаються тривіальними так як вони присутні в будь-яких відносинах.

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

Схожі статті