logo
Проектування інформаційної системи "Деревообробна фабрика"

3.1 Нормалізація відносин

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

Ті самі дані можуть групуватися в таблиці-відносини, різними способами, тобто, можлива організація різних наборів відносин взаємозалежних інформаційних обєктів предметної області. Групування атрибутів у відносинах повинно бути раціональним, що гранично скорочує дублювання даних і процедури, що спрощують, їхню обробку й відновлення.

Певний набір відносин має кращі властивості при включенні, модифікації й видаленні даних, якщо він відповідає певним вимогам нормалізації відносин. Нормалізація відносин - це формальний апарат обмежень на їхнє формування, що дозволяє усунути дублювання даних, забезпечити їхня несуперечність і зменшити витрати на підтримку бази даних.

Наприклад, при включенні в таблицю поля, значення якого не залежить від первинного ключа. В цьому випадку зявляється можливість втрати інформації. Але важливо інше: повторюючи одні і ті ж дані, не тільки перероблюємо масу зайвої роботи, але і неминуче помиляємось. Тому потрібно намагатися виключати з таблиці поля, які не звязані з первинним ключем. Для цього, крім оперативної, можна створити декілька допоміжних таблиць.

При проектуванні таблиць рекомендуються наступні правила:

1. Слід уяснити собі, що є первинний ключ таблиці.

2. Якщо первинний ключ не проглядається, подумати, чи правильно підібраний склад полів.

3. Якщо первинний ключ безперечний, то до нього можна дописати будь-які атрибути, що залежать тільки від ключа.

Якщо при перегляді бази даних в парі таблиць знайдуться однойменні поля, котрі не входять в первинний ключ жодної з цих таблиць, - це помилка нормалізації. Система не зможе контролювати правильний зміст цих полів.