Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-КН1.doc
Скачиваний:
18
Добавлен:
27.04.2019
Размер:
7.07 Mб
Скачать

4. Нормалізація даних

4.1.Основні засади нормалізації даних

Нормалізація – процес перевірки і реорганізації сутностей та атрибутів з метою задоволення вимог до реляційної моделі даних. В результаті нормалізації повинна бути створена структура даних, в якій інформація про кожний факт зберігається тільки один раз. Практичне значення нормалізації полягає у спрощенні адміністрування бази даних. Особливо це стосується серверних баз даних з багатокористувацьким доступом. Дійсно, якщо однакові дані про деякий об‘єкт розташовано в різних місцях бази даних, то у випадку їх коригування або вилучення маємо відслідковувати всі точки збереження цих даних, щоб не порушити їх узгодженість. Наприклад, зберігаємо відношення Замовник ( Назва замовника, код ЕДРПОУ, Адреса, Контактна особа, Реквізити банку, телефон) та Угода (№ угоди, Дата, Назва замовника, Умови, Сума,Термін дії). Якщо Замовник, з деяких причин змінив назву, то для збереження відповідності між цими таблицями маємо відкоригувати її в двох місцях: в таблицях Замовник та Угода. Зручніше зберігати дані про замовника в одному місці – таблиці Замовник. Якщо нормалізацію у базі даних не забезпечено (іноді на це ідуть свідомо), цілісність даних підтримується адміністратором за допомогою спеціальних процедур в період обмеженого доступу до БД ,наприклад, вночі.

Процес нормалізації – це послідовне приведення структури даних до нормальних форм. Існує шість різновидів нормальних форм: 1NF, 2NF, 3NF, підсилена 3NF (нормальна форма Бойса – Кодда), 4NF, 5NF . На практиці найчастіше використовують три форми: 1NF, 2NF, 3NF.

Нормальні форми базуються на понятті функціональної залежності. Атрибут В відношення Е функціонально залежить від атрибута А відношення Е тоді і тільки тоді, коли кожне значення А в Е пов’язане тільки з одним значенням В в Е і єдиним чином визначає В.

Повна функціональна залежність визначається як: Атрибут В відношення Е цілком функціонально залежить від множини атрибутів А відношення Е тоді і тільки тоді, коли В функціонально залежить від А і не залежить від підмножини А.

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

4.2. Перша нормальна форма

Відношення перебуває у першій нормальній формі тоді і тільки тоді, коли всі атрибути вміщують атомарні значення, тобто, на перетині кожного стовчика і рядка знаходиться тільки одне значення.

Іншою помилкою нормалізації є збереження різних за змістом даних в якості одного атрибута. Наприклад, в базі даних Склад часто використовують одну дату, щоб показати рух товару. Така дата може бути як датою надходження товару, так і датою вибуття. В такому випадку важко визначити коли ж все таки надходив товар, а коли вибував. Для розв‘язання такої колізії вводять додатковий атрибут Вид руху. Виключення складають поля типу memo, які можуть вміщувати нерозподілений текст. Для приведення відношення до першої нормальної форми складні атрибути розділяють на атомарні, виносять складові розділених атрибути до окремого відношення, або створюють нові атрибути в розглядуваному відношенні.

Приклад ненормалізованої таблиці наведено на рис. 4.1.

Рис. 4.1. Ненормалізована таблиця ВИКЛАДАЧ в СКБД Access

З прикладу видно, що атрибути надбавки та дисципліни не атомарні, тобто присутнє порушення першої нормальної форми. Слід створити нові таблиці НАДБАВКА та ДИСЦИПЛІНА і зв‘язати їх з таблицею ВИКЛАДАЧ за допомогою зовнішніх ключів. Таким чином таблиця буде приведена до першої нормальної форми.

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