Велика база даних, визначена як одне відношення, може призвести до дублювання даних. Таке повторення даних може призвести до:
- Зробити відносини дуже великими.
- Обслуговувати та оновлювати дані нелегко, оскільки це потребує пошуку багатьох записів.
- Втрата та погане використання дискового простору та ресурсів.
- Підвищується ймовірність помилок і невідповідностей.
Отже, щоб вирішити ці проблеми, ми повинні проаналізувати та розкласти зв’язки із зайвими даними на менші, простіші та добре структуровані зв’язки, які задовольняють бажані властивості. Нормалізація - це процес декомпозиції відносин на відносини з меншою кількістю атрибутів.
Що таке нормалізація?
- Нормалізація — це процес організації даних у базі даних.
- Нормалізація використовується для мінімізації надмірності зв’язку або набору зв’язків. Він також використовується для усунення небажаних характеристик, таких як аномалії вставки, оновлення та видалення.
- Нормалізація ділить більшу таблицю на менші та зв’язує їх за допомогою зв’язків.
- Звичайна форма використовується для зменшення надмірності таблиці бази даних.
Навіщо нам нормалізація?
Основною причиною нормалізації відносин є усунення цих аномалій. Нездатність усунути аномалії призводить до надлишковості даних і може спричинити цілісність даних та інші проблеми в міру зростання бази даних. Нормалізація складається з ряду вказівок, які допоможуть вам створити правильну структуру бази даних.
Аномалії модифікації даних можна розділити на три типи:
Типи нормальних форм:
Нормалізація проходить через ряд етапів, які називаються нормальними формами. Нормальні форми застосовуються до індивідуальних відносин. Відношення називається нормальним, якщо воно задовольняє обмеження.
Нижче наведено різні типи нормальних форм:
Нормальна форма | опис |
---|---|
1NF | Відношення є в 1NF, якщо воно містить атомарне значення. |
2NF | Відношення буде в 2NF, якщо воно знаходиться в 1NF і всі неключові атрибути повністю функціональні залежно від первинного ключа. |
3NF | Відношення буде в 3NF, якщо воно знаходиться в 2NF і не існує залежності переходу. |
BCNF | Більш чітке визначення 3NF відоме як нормальна форма Бойса Кодда. |
4NF | Відношення буде в 4NF, якщо воно в нормальній формі Бойса Кодда і не має багатозначної залежності. |
5NF | Відношення в 5NF. Якщо він знаходиться в 4NF і не містить жодної залежності приєднання, приєднання має бути без втрат. |
Переваги нормалізації
- Нормалізація допомагає звести до мінімуму надмірність даних.
- Краща загальна організація бази даних.
- Послідовність даних у базі даних.
- Набагато більш гнучкий дизайн бази даних.
- Закріплює концепцію цілісності відносин.
Недоліки нормалізації
- Ви не можете розпочати створення бази даних, не дізнавшись, що потрібно користувачеві.
- Продуктивність погіршується при нормалізації відносин до вищих нормальних форм, наприклад, 4NF, 5NF.
- Нормалізувати стосунки вищого ступеня – це дуже довго і важко.
- Необережна декомпозиція може призвести до поганого дизайну бази даних, що призведе до серйозних проблем.