Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_информсистемы_Назаров_16_09_20012.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

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

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

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

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

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

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

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

Таким чином перший етап проектування РБД полягає у складанні універсального відношення.

Таблиця 9 – Відношення НАВАНТАЖЕННЯ:

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

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

Код станції

Код вантажу

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

Маса вантажу

1010

Мех. з-д

4500

11232

Метізи

152

1010

Мех. з-д

4500

11569

Рейки

49

1010

Мех. з-д

4500

12454

Дріт

68

1234

Ф-ка

4607

11232

Метізи

142

1234

Ф-ка

4607

12454

Дріт

36

1425

Мех. з-д

4671

11569

Рейки

152

1425

Мех. з-д

4671

12454

Дріт

371

1537

ЗБК

4607

13127

Прокат

632

1572

Будтрест

4500

-

-

-

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

Проблеми зв’язані головним чином з недостатньою кількістю відношень в РБД. Розглянемо їх на прикладі попереднього універсального відношення:

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

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

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