якщо немає необхідності маніпулювати окремими містами або вулицями, в іншому випадку цей атрибут не є атомарним і необхідно його подальше розбиття на окремі атрибути (місто), (вулиця, будинок, квартира).
Приклад ненормалізованного і нормалізованого (у 1НФ) відносин наведено на рис. 1.2. br/>В
В
Рис. 1.2 Приклад нормалізації відносини
Друга нормальна форма (2НФ): Ставлення (таблиця) знаходиться під 2НФ. якщо воно знаходиться в 1НФ, і кожен неключових атрибут функціонально повно залежить від усього ключа.
Якщо який-небудь атрибут залежить від частини складеного первинного ключа, то необхідно:
створити нове ставлення, атрибутами якого будуть:
частину складного ключа (первинний ключ нового ставлення)
атрибут, що залежить від нового ключа
з вихідного відносини виключити атрибут, включений в нове ставлення
Тобто, якщо є відношення R (kl, k2, al, а2), що знаходиться в 1НФ, де kl, k2 - складений первинний ключ, a al і А2 - неключові атрибути відношення R, і є функціональні залежності:
Kl, k2? al (атрибут al функціонально повно залежить від первинного ключа kl, k2),
kl? а2 (атрибут а2 залежить від частини первинного ключа kl, тобто є неповна функціональна залежність)
Для приведення відношення R до 2НФ. це відношення декомпозіруется на два відносини: Rl (kl, а2) і R2 (k1, k2, al). Відносини R1 і R2 будуть мати зв'язок один - до багатьох по атрибуту kl. p align="justify"> Приклад: Дано відношення Постачання (КодПоставщіка, КодПродукта, ЕдініцаІзмеренія). Постачальник може постачати різні продукти, один і той же продукт може поставлятися різними постачальниками. Тоді первинним ключем відносини будуть атрибути КодПоставщіка і КодПродукта. Значить, існує функціональна залежність:
КодПоставшіка, КодПродукта? ЕдініцаІзмеренія
З іншого боку, якою б постачальник не поставить продукт, єдиного виміру від цього не зміниться (наприклад, незбиране молоко вимірюється літрами незалежно від постачальника, а сіль-кілограмами). Тобто існує ще одна функціональна залежність (неключових атрибут залежить від частини первинного ключа):
КодПродукта? ЕдініцаІзмеренія
Після виключення неповної функціональної залежності отримаємо відносини:
Постачання (КодПоставщіка. КодПродукта) і Продукти (КодПродукта. ЕдініцаІзмеренія)
При неповній функціональній залежності виникають аномалії:
включення (поки постачальником не буде поставлений продукт, не можна вказати одиницю виміру)
видалення (виняток постачальника може призвести до втрати одиниці виміру продукту)