Нормализация базы данных – процесс проектирования реляционной схемы, при котором данные распределяются по таблицам так, чтобы каждый факт хранился в одном месте. Теория нормализации предложена Эдгаром Коддом вместе с реляционной моделью в начале 1970-х годов.
Нормальные формы
- 1НФ – атомарные значения, нет повторяющихся групп.
- 2НФ – нет зависимости неключевых атрибутов от части составного ключа.
- 3НФ – нет транзитивных зависимостей неключевых атрибутов.
- НФБК (Бойса – Кодда), 4НФ, 5НФ – более строгие формы.
На практике чаще всего стремятся к 3НФ.
Зачем нужна
- Нет дублирования и противоречий данных.
- Нет аномалий вставки, обновления и удаления.
- Проще поддерживать целостность через ключи и ограничения.
Нормализация и денормализация
В транзакционных системах нормализация – основа. В аналитических хранилищах и при высокой нагрузке на чтение данные намеренно денормализуют для скорости.