Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АИС_лекц_ЗАО.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.37 Mб
Скачать

4.2.1. Поняття форми відношення. Перша нормальна форма.

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

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

Ця таблиця не є відношенням. Значення перших 3-х атрибутів є атомарними , значення інших 3-х атрибутів є множинними, тобто рядок не є кортежем. Наприклад, одержувачу 1010 відповідає по одному значенню атрибутів <Назва_одержувача> та <Код_ЄСР> і відразу по чотири значення атрибутів <Код_вантажу>, <Найм_вантажу> та <Маса_вантажу>. Тобто значення перших трьох атрибутів є атомарними, а решти – множинними. Отже не кожен рядок цієї таблиці є кортежем.

Можна перетворити таблицю у відношення шляхом введення надлишкового дублювання даних, тобто продублювати відомі нам значення перших 3 атрибутів (додані значення атрибутів показані синім кольором).

Таблиця 9

Відношення: НАВАНТАЖЕННЯ:

Код_одержувача

Назва_одержувача

Код_ЄСР

Код_вантажу

Найм_вантажу

Маса_вантажу

1010

Мех. з-д

4500

11232

Метізи

152

1010

Мех. з-д

4500

11569

Рейки

49

1010

Мех. з-д

4500

12454

Дріт

68

1010

Мех. з-д

4500

13127

Прокат

312

1234

Ф-ка

4607

11232

Метізи

142

1234

Ф-ка

4607

12454

Дріт

36

1234

Ф-ка

4607

13127

Прокат

98

1425

Мех. з-д

4671

11569

Рейки

152

1425

Мех. з-д

4671

12454

Дріт

371

1425

Мех. з-д

4671

13127

Прокат

1125

1537

ЗБК

4607

12454

Дріт

632

1572

Будтрест

4500

11232

Метізи

254

1572

Будтрест

4804

11569

Рейки

136

Перетворена таким чином таблиця – екземпляр коректного відношення. Це відношення називається універсальним, тому що РБД складається всього з одного відношення і в ньому міститься вся потрібна інформація.

Універсальне відношення містить всі атрибути, що представляють інтерес, і має структуру, у котрій кожний кортеж складається з атомарних елементів. Таким чином отримане універсальне відношення знаходиться в 1НФ.

На цьому закінчується перший етап проектування РБД.

4.2.2. Проблеми, що можуть виникнути при роботі з рбд

Існує 3 таки проблеми, що пов’язані з недостатнім числом відношень в РБД: вставки, модифікації, видалення. Розберемо їх на прикладах з універсального відношення:

  1. Проблема вставки: Потрібно залучити до РБД нового одержувача 1537 (рядок виділений зеленим кольором), котрому ще не відправляли в дану добу вантажі. Але порожні поля, як правило, не припускаються, тому що можуть виникнути проблема при складанні довідок на підставі цих даних. (Наприклад, потрібна довідка про одержувачів, які отримають відправи масою до 100 тон. В довідку може бути залучений одержувач 1537, який таки вантажі не одержував).

  2. Проблема видалення: Якщо той самий одержувач 1537 поданий одним рядком зі всіма заповненими полями і дізналися, що вантаж ще не відправлений (недостовірні дані виділені блакитним кольором), то потрібно видалити цей рядок, але тоді зникнуть всі дані про одержувача 1537.

  3. Проблема модифікації: Якщо одержувач (1010) повідомить, що змінюється код ЄСР станції примикання, на якої знаходяться декілька одержувачів (1010 та 1572), то її прийдеться змінювати не тільки у всіх рядках цього одержувача (1010), але й у інших одержувачів (1572) на цій станції, інакше виникне протиріччя: обидва одержувача як і раніше знаходяться на одній станції, а коди ЄСР в них різні. Така невідповідність неприпустима. Причина протиріччя – явна надмірність даних.