найбільш алгоритмічно і понятійно простих методів усунення надмірності зберігання даних є метод нормальних форм, який заснований на аналізі функціональних залежностей (ФЗ) атрибутів відносин.
Якщо дано два атрибута X і Y деякого відносини, то говорять, що Y функціонально залежить від X, якщо в будь-який момент часу кожному значенню X відповідає рівно одне значення Y. Функціональна залежність позначається X в—Љ Y.
Оборотний покроковий процес заміни даної сукупності відносин іншою схемою з усуненням надлишкових функціональних залежностей називається нормалізацією.
Процес проектування БД з використанням методу нормальних форм (нормалізація) полягає в послідовному перекладі відносин з першої нормальної форми в нормальні форми більш високого порядку за певними правилами. Кожна наступна нормальна форма обмежує певний тип функціональних залежностей, усуває відповідні аномалії при виконанні операцій над відносинами БД і зберігає властивості попередніх нормальних форм.
Процес формального побудови нормалізованих відносин проектованої бази даних може бути розпочато з формування однієї таблиці, яка містить всі атрибути всіх сутностей предметної області.
Розглянемо предметну область - розподіл навчального навантаження по
викладачам однієї кафедри. Припустимо, що у кожної групи кожен
предмет веде тільки один викладач. Крім особистих даних викладача необхідно зберігати дані по групі (Найменування, Староста) і для пари (Викладач, Група) необхідно зберігати список предметів, які даний викладач викладає в даній групі.
В якості вихідної таблиці візьмемо:
А
В
З
Особисті дані викладача:
ПІБ, Посада, Оклад
Дані групи: Найменування, Староста
Предмети
В якості первинного ключа таблиці візьмемо стовпці "Особисті дані Викладача" і "Дані групи ", оскільки існує тільки одна ФЗ: AB в—Љ C.
Відношення знаходиться в першій нормальній формі (1НФ), якщо значення всіх його атрибутів атомарний.
Виконаємо перетворення для таблиці прикладу:
1. Стовпець особистих даних перетворимо в чотири стовпці:
"Викладач" (ПІБ), "Табельний №", "Посада", "Оклад". Тепер ключ - "Табельний №" і "Дані групи". p> 2. Стовпець "Дані групи" перетворимо в два стовпці: "Група" (Найменування), "Староста". Тепер ключ - "Табельний №" і "Група". p> 3. Стовпець "Предмети" перетворимо в стовпець "Предмет". Як альтернатива, можна створити нову таблицю "Предмети", яка міститиме первинний ключ вихідного відносини ("Табельний №", "Група") і стовпець "Предмет".
В результаті отримано ставлення А У З D E F
Викладач Посада Оклад Група Староста Предмет
Виявлені функціональні залежності:
А в—Љ В, С; У в—Љ С; D в—Љ Е; DF в—Љ А.
Первинний ключ: DF, так як від DF залежать інші атрибути. p> Друга нормальна форма дозволяє усунути надлишковість даних, пов'язану із зберіганням інформації різного типу в одному відношенні.
Відношення знаходиться в другій нормальній формі (2НФ), якщо воно знаходиться в 1НФ і кожен неключових атрибут функціонально повно залежить від ключа.
Іншими словами ставлення під другий нормальної формі - відношення без атрибутів, що знаходяться в частковій функціональної залежності від ключових атрибутів.
Відносини, не у 2НФ допускають аномалії оновлення, які полягають у необхідності оновлень (вилучень, модифікацій, вставки) рядків із значенням атрибута, функціонально неповно залежного від ключа, у всіх рядках, де він зустрічається з відповідним значенням частини ключа, буде потрібно виконати контроль відповідності нового поєднання (частина ключа - атрибут) і вже існуючих, а при видаленні рядків може втрачатися і потрібна інформації про що має місце факт виду "частина ключа - Атрибут ". p> Для атрибутів, функціонально повно залежних від ключа, кожна зміна зачіпає тільки один рядок - рядок із змінним значенням. Приведення ставлення до 2НФ дозволяє виключити даний тип аномалій оновлення.
Приклад:
Ставлення
А У З D E F
Викладач Посада Оклад Група Староста Предмет
знаходиться в 1НФ.
При цьому відношення допускає наступні аномалії поновлення:
а) аномалія вставки - при зміні старости групи необхідно буде змінити відповідне значення у всіх рядках з таким же значенням групи;
б) аномалія видалення - при видаленні інформації про предмет, що читається викладачем в деякій групі, може загубитися і інша інформація - про старості групи;
в) аномалія модифікації - при зміні старости в групі слід оновити всі записи з таким же значенням "Групи". p> Перетворимо ставлення з прикладу з 1НФ під 2НФ:
Залежно D в—Љ E атрибут E функціонально залежить...