@pako1265

Что такое нормализация базы данных простыми словами?

Прочитав множество статей, и даже пару глав книг, я так и не понял что такое нормализация. В разных книгах/статьях/видео обычно говорят что достаточно лишь 3 уровня нормализации, при этом критерии этих уровней у разных источников разные, как я понял нормализация данных нужна для устранения избыточности (повторения данных) и если идти от обратного, то данные которые повторяются/могут повторятся в будущем, то есть не уникальные в таблице, должны выноситься в отдельную сущность\таблицу и между ними должны устанавливаться связи, но в большинстве примеров остаются повторяющиеся значения в БД, авторы говорят что значения не должны повторятся и при этом оставляют повторяющиеся значения.... Я совсем запутался, please help, и заранее извините за тупой вопрос )
  • Вопрос задан
  • 3183 просмотра
Решения вопроса 1
sarapinit
@sarapinit
Точу водой камень
БД нужна чтобы хранить утверждения о состоянии информационной системы.
Ситуацию в которой утверждений о состоянии какой-то части системы больше чем одно мы считаем дублированием информации. (У вас эта ситуация называется "избыточность").
Если есть дублирование информации, то возможна ситуация когда утверждения могут противоречить друг другу. В этом случае БД неконсистентна и информационная система может работать некорректна.
Нормализация БД - устранение дублирования информации в БД с целью достижения консистентности, в первую очередь. Нормальные формы - это шаги которые нужно пройти на пути к консистентности (делай раз, делай два ...)
Побочным эффектом нормализации является уменьшение размера БД.
В случаях когда производительность важнее консистентности, выполняют денормализацию БД (внесение избыточности) под определённые запросы, чтобы избежать объединений таблиц (JOIN).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы