Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема4.doc
Скачиваний:
5
Добавлен:
25.12.2018
Размер:
307.71 Кб
Скачать

Покупець(Код клієнта, Ім'я, Адреса) та

РАХУНОК(Код клієнта, № рахунку, Тип, Залишок),

то КЛІЄНТ можна реконструювати без жодної втрати інформації.

3-й крок (третя ітерація) нормалізації- це вилучення транзитивних залежностей, тобто залежностей між неключовими атрибутами.

Наприклад, дано відношення R (A*,B,C), в якому атрибут В не залежить безпосередньо від ключа, а С залежить від неключового атрибута В, який залежить від А, то тоді С транзитивно залежить від А.

Транзитивні залежності вилучають також за допомогою декомпозиції відношення на інші два чи більше відношень,які не містять транзитивних відношень і об'єднання яких дасть початкове відношення. Внаслідок декомпозиції отримаємо два нових відношення R1 (А,В) та R2 (В,С).

Приклад. ПРОДАЖІ(Ціна, Назва товару, Продавець, Область);

Функціональні залежності:

Ціна  Назва товару, Продавець, Область

Продавець область

У цьому прикладі транзитивною залежністю є Продавець  область.

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

Багатозначна залежність-це різновид функціональної залежності. Атрибут В знаходиться у багатозначній залежності від атрибута А тоді, коли одному значенню атрибута А відповідає багато значень атрибуту В. Наприклад, між атрибутами код структурного підрозділу : табельний номер= 1:Б, оскільки в одному підрозділі може працювати багато співробітників. Тобто багатозначній залежності відповідає відношення 1: Б між атрибутами.

Приклад. Візьмемо базу даних Заняття (Курс,Викладач,Книжка), де Заняття (С,t,b) означає, що викладач t може читати курс С і що b-це необхідний підручник для С.

Це означає, що для викладання кожного курсу є перелік викладачів і набір придатних підручників, і що ці два набори є незалежними один від одного.

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

Для усунення багатофункціональної залежності розіб'ємо базу даних Заняття на дві таблиці:

МОЖЕ ВЧИТИ (Курс, Викладач) та

КНИЖКА КУРСУ (Курс,Книжка)

При такому розбитті ми не втрачаємо ніякої інформації (БД Заняття можна реконструювати на основі цих двох таблиць).

Будь-яку таблицю зв'язків можна без втрат розбити на еквівалентний набір таблиць у 4 НФ (як це зроблено вище).

Декомпозиція початкового відношення на кілька інших має гарантувати його оборотність, тобто забезпечувати отримання початкового відношення об'єднанням відношень,знайдених внаслідок декомпозиції.

Проте не завжди декомпозиція гарантує оборотність. Відношення, яке містить більш як три багатозначні залежності, потребує спеціальних заходів щодо забезпечення оборотності декомпозиції. Для цього існує 5НФ. При декомпозиції з 4НФ дістають такі проекції, щоб кожна з них містила не менш як один можливий ключ і щонайменше один неключовий атрибут початкового відношення.

Нормалізована БД виключає дублювання даних і можливість виникнення аномалій при виконанні операцій поповнення, заміни та вилучення даних з БД. Крім того,нормалізована база даних вимагає значно менше пам'яті для її зберігання, ніж не нормалізована БД.

Зазначимо, що практичний аспект побудови логічної моделі даних засобами СКБД Microsoft Access розглянутий авторами посібника в [56, с.66-92].У вказаному практикумі розглянута технологія створення бази даних у середовищі СКБД Microsoft Access 2000 та обмін даними між MS Access 2000 та іншими додатками Windows 2000 і створення запиту на основі декількох таблиць бази даних MS Access 2000.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]