Нормализация — это процесс структурирования реляционной базы данных для уменьшения избыточности данных и улучшения целостности данных.
Основные цели:
Нормализация основана на концепции нормальных форм (НФ). Наиболее распространенные:
Пример нормализации (переход из ненормализованной формы в 1НФ):
Ненормализованная таблица:
| Заказ_ID | Клиент | Товары |
|---|---|---|
| 1 | Иван | Молоко, Хлеб |
| 2 | Мария | Яблоки, Бананы |
Таблица в 1НФ:
| Заказ_ID | Клиент | Товар |
|---|---|---|
| 1 | Иван | Молоко |
| 1 | Иван | Хлеб |
| 2 | Мария | Яблоки |
| 2 | Мария | Бананы |
Более высокие нормальные формы (БКНФ, 4НФ, 5НФ) существуют и применяются для более специфических сценариев. Выбор уровня нормализации зависит от требований к производительности и сложности базы данных. Слишком высокий уровень нормализации может увеличить количество соединений (JOIN) и снизить производительность чтения.