Перша нормальна форма (1НФ)

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

Відношення знаходиться в першій нормальній формі (1НФ) тоді і тільки тоді, коли будь-яке значення кожного кортежу (примірника) для кожного атрибута містить тільки одне значення.

Це визначення формулює основна вимога до значень кожного атрибуту відносини будь-якого з примірників - значення має бути представлено простим типом і не розбиватися на окремі компоненти (атрибути). Тут потрібно розуміти, що окремі атрибути, особливо позначаються символьними типами даних, можуть представлятися в структурованому вигляді. Наприклад, адресу місцезнаходження організації, описуваний елементами: індекс, країна, місто, вулиця, будинок і т.д. - Може бути розбитий на окремі компоненти. Якщо але вимогам предметної області це так, то такий атрибут не відповідатиме вимогам зазначеного правила і повинен бути розбитий на окремі атрибути "Індекс", "Країна", "Місто", "Вулиця", "Дім" і т.д. Якщо ж атрибут визначається у вигляді нерозривному рядки опису адреси, то він може бути представлений єдиним атрибутом "Адреса місцезнаходження" і відповідатиме вимогам правила.

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

image111

Мал. 2.71. Структура відносини "Товари замовлення" в першій нормальній формі


Особливістю даного відносини є той факт, що значення по атрибуту "Ціновий сегмент", крім функціональної залежності від товару, володіє ще функціональною залежністю від постачальника, ускладнюючи, тим самим, процедури коректної обробки даних (рис. 2.72).

У той же час, відношення має функціональної залежністю постачальника від одного з атрибутів первинного ключа - "Товар". Ці та інші особливості функціональних залежностей атрибутів один від одного призводять до виникнення аномалій оновлення, які подаються проблемними ситуаціями при додаванні, зміну або видалення даних (табл. 2.23). Наявність аномалій вимагає від розробника виконати процедуру нормалізації відносини і переходу до другої і подальшим нормальним формам.

image112

Мал. 2.72. Функціональні залежності відносини "Товари замовлення"


Таблиця 2.23

Приклад даних по відношенню "Товари замовлення"

замовлення

товар

Кількість товару

Постачальник

ціновий сегмент

31

А1

10

П1

Економ

31

А2

25

П1

31

АЗ

2

П2

люкс

32

А1

5

П1

Економ

32

А4

1

ПЗ

33

А4

5

ПЗ

- "-



У представленому прикладі немає товару "Аб" від постачальника "П2", оскільки цей товар ще не замовлявся і не розміщувався в замовленнях. Це означає, що використання даного товару "А6" буде неможливо, поки він не буде замовлений, що також формує аномалії оновлення, які будуть заважати ефективній роботі з базою даних.

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

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

Аномалія видалення. Ця аномалія виникає, якщо спробувати видалити замовлення з єдиною позицією товару, яка, в свою чергу, не використовується в інших замовленнях. Така операція, крім відомостей про замовлення, видалить відомості про товар. По суті, ставлення в першій нормальній формі містить занадто багато різнотипних відомостей, зібраних в одному місці, що призводить до втрати великої кількості інформації при виконанні відповідної операції над даними.

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

 
< Попер   ЗМІСТ   Наст >