logo

Нормалізація

Велика база даних, визначена як одне відношення, може призвести до дублювання даних. Таке повторення даних може призвести до:

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

Отже, щоб вирішити ці проблеми, ми повинні проаналізувати та розкласти зв’язки із зайвими даними на менші, простіші та добре структуровані зв’язки, які задовольняють бажані властивості. Нормалізація - це процес декомпозиції відносин на відносини з меншою кількістю атрибутів.

Що таке нормалізація?

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

Навіщо нам нормалізація?

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

Аномалії модифікації даних можна розділити на три типи:

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

Типи нормальних форм:

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

Нижче наведено різні типи нормальних форм:

Нормалізація СУБД
Нормальна форма опис
1NF Відношення є в 1NF, якщо воно містить атомарне значення.
2NF Відношення буде в 2NF, якщо воно знаходиться в 1NF і всі неключові атрибути повністю функціональні залежно від первинного ключа.
3NF Відношення буде в 3NF, якщо воно знаходиться в 2NF і не існує залежності переходу.
BCNF Більш чітке визначення 3NF відоме як нормальна форма Бойса Кодда.
4NF Відношення буде в 4NF, якщо воно в нормальній формі Бойса Кодда і не має багатозначної залежності.
5NF Відношення в 5NF. Якщо він знаходиться в 4NF і не містить жодної залежності приєднання, приєднання має бути без втрат.

Переваги нормалізації

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

Недоліки нормалізації

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