Функціональні залежності
Реляційна база даних містить як структурну, так і семантичну інформацію. Структурна інформація задається схемою відношення, а семантична виражається функціональними зв'язками між атрибутами схеми.
Дамо визначення функціональної залежності.
Визначення. Функціональна залежність.
У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y можуть бути складеними) у тому і тільки в тому випадку, якщо кожному значенню X відповідає в точності одне значення Y: R.X ->R.Y.
Табельний номер ->Прізвище; Посада ->Зарплата.
Функціональна залежність позначається X -> Y. Відзначимо, що X і Y можуть являти собою не тільки одиничні атрибути, але і групи, складені з декількох атрибутів одного відношення. Можна сказати, що функціональні залежності являють собою зв'язки типу "один до багатьох", що існують усередині відношення.
Визначення. Повна функціональна залежність.
Функціональна залежність R.X -> R.Y називається повною, якщо атрибут Y не залежить функціонально від будь-якої точної підмножини X.
Визначення. Неключовий атрибут.
Неключовим атрибутом називається будь-який атрибут відношення, який не входить до складу ключа (зокрема, первинного).
Визначення. Функціонально повна і часткова залежність неключового атрибута від складеного ключа.
Неключовий атрибут функціонально повно залежить від складеного ключа, якщо він функціонально залежить від ключа, але не знаходиться у функціональній залежності ні від якої частини ключа, у протилежному випадку має місце часткова залежність.
|
|
Відношення:
Читання лекцій (Таб_номер, Назва_курсу, Кількість_годин)
Назва_курсу ->У_годин
Залежність неключового атрибута Кількість_годин від частини складеного ключа говорить про часткову залежність.
Визначення. Транзитивна функціональна залежність.
Функціональна залежність R.X -> R.Y називається транзитивною, якщо існує такий атрибут Z, що існують функціональні залежності R.X -> R.Z і R.Z -> R.Y і відсутня функціональна залежність R.Z ->R.X. (При відсутності останньої вимоги ми мали б "нецікаві" транзитивні залежності в будь-якому відношенні, що має кілька ключів.)
Прізвище ->Офіс ->Телефон.
Визначення. Взаємно незалежні атрибути.
Два чи більше атрибутів взаємно незалежні, якщо жоден з цих атрибутів не є функціонально залежним від інших.
У відношенні Читання лекцій:
В_годин ->->Таб_номер;
Таб_номер ->-> Кількість_годин.
Деякі функціональні залежності можуть бути небажаними.
Надлишкова функціональна залежність - залежність, що містить в собі таку інформацію, яка може бути отримана на основі інших залежностей, що є в базі даних.
|
|
Коректною вважається така схема бази даних, у якій відсутні надлишкові функціональні залежності. Звідси випливають умови до групування атрибутів по сутностях:
· між атрибутами не повинно бути небажаних функціональних залежностей і вони повинні забезпечувати мінімальне дублювання даних;
· обраний склад відношень повинен відрізнятися мінімальною надлишковістю атрибутів;
· обрані для відношення первинні ключі повинні бути мінімальними;
· не повинно бути труднощів при виконанні операцій включення, видалення і модифікації (аномалії);
· перебудова набору відношень при введенні нових типів повинна бути мінімальною.
Якщо первинно у схемі відношень присутні надлишкові функціональні залежності, то доводиться удаватися до процедури декомпозиції (розкладання) наявної множини відношень. При цьому породжується множина відношень, що містить більшу кількість відношень, що є проекціями відношень вихідної множини. Оборотний покроковий процес заміни даної сукупності відношень іншою схемою з усуненням надлишкових функціональних залежностей і називається нормалізацією.
Умова оборотності вимагає, щоб декомпозиція зберігала еквівалентність схем при заміні однієї схеми на іншу, тобто в результуючих відношеннях:
· не повинні з'являтися раніше відсутнє кортежі;
· на відношеннях нової схеми повинна виконуватися вихідна множина функціональних залежностей.
Дата добавления: 2016-01-05; просмотров: 24; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!