Перша нормальна форма (1нф)
Відношення знаходиться в 1 НФ, якщо на перетині кожного стовпця з кожним рядком міститься лише атомарне (нерозподілене) значення. Іншими словами, кожен атрибут відношення повинен зберігати одне єдине значення та не бути ні списком, ні множиною значень. Атрибут, який є атомарним в одному додатку, може виявитися складовим в іншому.
Приклад. В базі даних відділу кадрів фірми в таблиці, в якій зберігаються особисті відомості про співробітників, є атрибут «Домашня адреса», в якому адреса зберігається в форматі: місто, вулиця, будинок[/корпус], квартира (в даному випадку адреса зберігається у вигляді єдиного текстового рядка, так як малоймовірно, щоб необхідно було б обрати співробітників, наприклад, за номером квартири). Таким чином, в контексті бази даних відділу кадрів адреса є атомарним поняттям, та його ділення на складові частини немає сенсу, так як лише привнесе до бази даних надмірну громіздкість. Але та сама адреса для додатку, призначеного для сортування пошти у поштовому відділенні компанії, не є атомарним, тому що бажано було б згрупувати конверти в окремі купи по вулицям, так як кожну вулицю обслуговує свій листоноша. Крім цього, з метою оптимізації переміщення листоноші в межах вулиці, кожну купу бажано було б відсортувати за номерами будинків, для того щоб зробити можливим рознесення пошти за один прохід по вулиці без повернення.
Доведення відношення до 1 НФ – проста операція. Треба проглянути відношення та розподілити складові атрибути на різні рядки/стовпці. Можливо, цю ситуацію доведеться повторити декілька разів до тих пір, доки кожен із атрибутів не стане атомарним.
Приклад. В базі даних міститься таблиця підприємств, в якій зберігаються такі відомості:
найменування підприємства;
місто;
адреса;
електронна адреса;
веб-сторінка;
вид агенту (постачальник або клієнт);
контактні особи (може бути декілька), посада контактної особи, телефон контактної особи.
Табл. 1
Найм-ня |
Місто |
Адреса |
Ел. пошта |
Веб-стор. |
Вид |
Конт. особа |
Поршневий з-д |
Київ |
Вул. 2-а Кольцева, 17 |
info@ plunger.ru |
www. plunger.ru |
Постачаль- ник |
Іванов І. І., заступник директора, тел (044)76-15-95 Петров П. П., начальник від. збуту, тел (044)76-15-35 |
ПП«Вимпел» |
Одеса |
Вул. Гоголя, 25 |
pennon@ mail.ru |
|
Клієнт |
Сидоров С. С., директор, тел. (048)66-65-38 |
ПП «Альфа» |
Київ |
Вул. Пушкінська, 37, оф. 565 |
alpha@ list.ru |
|
Клиієт |
Васильєв В.В., директор, тел (044)74-57-45 |
В даному випадку атрибут «Контактна особа» не є атомарним, тому що в ньому зустрічаються списки з декількох осіб. Розподілимо ці кортежі таким чином, щоб кожен кортеж містив дані тільки про одну особу:
Табл. 2
Найм-ня |
Місто |
Адреса |
Ел. пошта |
Веб-стор. |
Вид |
Конт. особа |
Поршневий з-д |
Київ |
Вул. 2-я Кольцева, 17 |
info@ plunger.ru |
www. plunger.ru |
Постачаль-ник |
Іванов І. І., заступник директора, тел (044)76-15-95 |
Поршневий з-д |
Київ |
Вул. 2-я Кольцева, 17 |
info@ plunger.ru |
www. plunger.ru |
Постачаль-ник |
Петров П. П., начальник від. збуту, тел (044)76-15-35 |
ПП «Вимпел» |
Одеса |
Вул. Гоголя, 25 |
рennon @mail.ru |
|
Клієнт |
Сидоров С.С., директор, тел. (048)66-65-38 |
ПП «Альфа» |
Київ |
Вул. Пушкінськая, 37, оф. 565 |
alpha @list.ru |
|
Клієнт |
Васильєв В.В., директор, тел (044)74-57-45 |
Трохи краще, хоча якщо придивитися виявляється, що атрибут «Контактна особа» може бути атомарним знов з натягуванням, так як містить дані різного роду, хоча й про одну особу. Розподілемо його на декілька атрибутів:
Табл. 3
Найм-ня |
Місто |
адреса |
Ел. пошта |
Веб-сторінка |
Вид |
Посада |
ПІБ |
Код міста |
Тел. |
Поршне- вий з-д |
Київ |
Вул. 2-я Кольцева, 17 |
info@ plunger.ru |
www. plunger.ru |
Поста- чаль- ник |
Заст. дир. |
Іванов І.І. |
044 |
76-15-95 |
Поршне- вий з-д |
Київ |
Вул. 2-я Кольцева, 17 |
info@ plunger.ru |
www. plunger.ru |
Поста- чаль- ник |
Нач. від. збуту |
Петров П.П. |
044 |
76-15-35 |
ПП «Вимпел» |
Одеса |
Вул. Гоголя, 25 |
pennon@ mail.ru |
|
Клієнт |
Дирек- тор |
Сидоров С.С. |
048 |
66-65-38 |
ПП «Альфа» |
Київ |
Вул. Пуш-кінська, 37, оф. 565 |
alpha323@ list.ru |
|
Клієнт |
Дирек- тор |
Васильєв В.В. |
044 |
74-57-45 |
Зараз можна вважати, що кожне значення кожного з атрибутів нашого відношення є атомарним. Отже, відношення знаходиться в 1 НФ.
