Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекц_информ_07.doc
Скачиваний:
19
Добавлен:
21.02.2016
Размер:
1.81 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

-

-

-

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

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

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

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

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

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

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

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