- •39 Інформаційні системи та субд Історія розвитку
- •Основні функції сучасної субд
- •Моделі даних
- •Ранні підходи до організації бд
- •Принципи концептуального проектування
- •Базові поняття моделі «Сутність-зв'язок»
- •Реляційна модель даних Базові поняття реляційної моделі даних
- •Властивості відношень
- •Реляційна модель даних: три складові
- •Проектування рбд за допомогою концепції функціональних залежностей Поняття функціональної залежності
- •Друга і третя нф. Алгоритм декомпозиції
- •Нормальна форма Бойса-Кодда
- •Багатозначні залежності. Четверта нормальна форма
- •Надлишкові фз. Мінімальне покриття
- •Перетворення концептуальної моделі в реляційну
- •1:*, Кп багатозв'язкової суті є необов'язковим.
- •Перетворення відношень супертип - підтип
- •Приклад проектування рбд на основі концептуальної моделі
- •Лабораторний практикум по проектуванню рбд Лабораторна робота №1
- •Лабораторна робота №2
- •Лабораторна робота № 3
- •Контрольні завдання по проектуванню рбд
Проектування рбд за допомогою концепції функціональних залежностей Поняття функціональної залежності
Відправною точкою підходу, що розглядається в цьому параграфі, до проектування РБД є відношення, що знаходиться в першій нормальній формі.
DEF. Відношення знаходиться в першій нормальній формі (1НФ), якщо кожен його елемент має і завжди матиме атомарне значення.
Можливим ключем відношення називається мінімальний набір атрибутів, що однозначно визначають кортеж. На першому етапі проектування з множини можливих ключів слід вибрати один, який буде первинним ключем БД (ПК). Відзначимо, що на практиці слід провести нормалізацію 1НФ для кожного первинного ключа з множини можливих ключів, а потім вибрати найбільш підходящу з отриманих моделей.
DEF. Атрибути, що не входять ні в один з можливих первинних ключів, називаються не ключовими.
DEF. БД, що знаходиться в 1НФ, має ряд недоліків, що називаються аномаліями зберігання, зміни і видалення даних (поясніть, яких?). Процес розбиття відношення з метою зменшення вірогідності виникнення аномалій називається декомпозицією без втрат. Ключовою для декомпозиції є концепція функціональної залежності (ФЗ).
DEF. Говорять, що атрибут В функціонально залежить від атрибуту А, якщо для кожного значення а атрибуту А у будь-який момент часу існує рівно одне пов'язане з ним значення b атрибуту В.
Атрибути А і В можуть бути складеними (тобто складатися з декількох атрибутів). ФЗ визначаються виходячи з базових властивостей самих атрибутів і семантики наочної області.
Нижче представлено два можливі способи запису того, що атрибут В ФЗ від А:
А→В – математична форма запису;
А
В
→ - діаграма або графічна форма запису.
Розглянемо в якості прикладу (див. табл. 2) відношення ВИКЛАДАЧ_ПРЕДМЕТ, що містять в собі дані про викладачів і курси, що вони читають.
Якщо відношення знаходиться в 1НФ, то всі не ключові атрибути функціонально залежать від ключа. Але степінь залежності може бути різною.
Таблиця 2
Особистий номер |
Назва предмета |
К-сть годин |
Прізвище |
Посада |
Оклад |
Кафедра |
Тел. |
201 |
СПО |
36 |
Фролов |
Доцент |
380 руб. |
МО ЕОМ |
4-89 |
201 |
БКС |
72 |
Фролов |
Доцент |
380 руб. |
МО ЕОМ |
4-89 |
202 |
Алгебра |
48 |
Костін |
Доцент |
380 руб. |
МО ЕОМ |
4-89 |
301 |
Алгебра |
48 |
Бойко |
Професор |
520 руб. |
ПМ |
4-88 |
401 |
Фізика |
52 |
Глазов |
Асистент |
270 руб. |
Фізики |
4-12 |
401 |
Оптика |
30 |
Глазов |
асистент |
270 руб. |
Фізики |
4-12 |
В нашому прикладі всі ФЗ представлені на рис. 7:
Рисунок 7
Назва предмета → К-сть годин
Особистий номер → Прізвище
Особистий номер → Посада
Особистий номер → Кафедра
Особистий номер → Оклад
Особистий номер → Телефон
Посада → Оклад
Кафедра ↔ Телефон
Відношення ВИКЛАДАЧ_ПРЕДМЕТ має лише один первинний ключ. <Особистий номер, Назва предмету>. Цей висновок отриманий шляхом знаходження мінімального набору значень атрибутів, які, якщо вони відомі, визначають значення всіх інших атрибутів кортежу.
DEF. Якщо А→В і В→А, то говориться про взаємно-однозначну функціональну залежність.
Приклад: Кафедра↔Телефон.
DEF. Якщо не ключовий атрибут залежить тільки від частини ключа, то говорять про функціональну неповну залежність.
Приклад: Назва предмета → К-сть годин.
Якщо не ключовий атрибут залежить від всього складеного ключа, то говорять про його повну функціональну залежність. У нашому прикладі немає атрибутів, що знаходяться в повній функціональній залежності від складеного ключа.
DEF. Якщо для атрибутів А, В, С виконуються умови А→В і В→С, то кажуть, що С залежить від А транзитивно.
Приклад: Особистий номер → Посада → Оклад.
DEF. З точки зору 1НФ, атрибут В транзитивно залежить від атрибута А, якщо А не входить в ПК.
DEF. Якщо В функціонально залежить від А і В не залежить функціонально від будь-якої підмножини А, то говорять, що А представляє собою детермінант В.
Детермінантами відносно ВИКЛАДАЧ_ПРЕДМЕТ є ліві частини всіх ФЗ у відношенні, тобто <Назва предмету>, <Посада>, <Кафедра> і <Особистий номер>. Взаємно-однозначні залежності дають два детермінанта.