Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция№13_Нормализация отношений.doc
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
119 Кб
Скачать
☆

Перша нормальна форма (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 НФ.