Что такое нормализация? Когда следует проводить денормализацию?

max аватар
134
Находится в разделах:

Нормализация - техника дизайна, которая широко используется как путеводитель по проектированию баз данных. Нормализация - это двухшаговый процесс, который кладет данные в форму, удаляя повторяющиеся группы, а затем удаляет дублированные данные из таблиц. 

Избыточные данные  забивают диск и создают множество проблем. Если данные существуют более, чем в одном месте, необходимо унифицировать их местоположение. Изменение в поле заказчика намного проще сделать, если данные хранятся только в таблице Customers и нигде более в базе данных.

 

Первая  нормальная форма

Вторая нормальная форма

Третья нормальная форма

О базе данных говорят, что она находится в первой нормальной форме, когда все сущности имеют уникальный идентификатор или ключ, и когда каждая колонка в каждой таблице имеет лишь одно значение и не содержит повторяющихся групп  или составного поля.

База данных находится во второй нормальной форме, когда она находится в первой нормальной форме + каждый колонка непервичного ключа в таблице зависит от первичного ключа,  а не является частью такового.

База данных в третьей форме, когда она во второй форме и каждая колонка, которая не является частою первичного ключа, не зависит от других колонок, которые также не являются частью первичного клчюа.

info picture

Когда стоит использовать денормализацию?  

 

Нормализация для аккуратности и точности, денормализация для повышения производительности.

Обычно транзакционные базы данных являются высоконормализированными. Это значит, что избыточные данные заменяются ключами в соотношении один-к-многим. Нормализированные данные ограничиваются отношением с первичным ключом. Денормализированные данные, с другой стороны, создают избыточность. Это значит, что существует вероятность того, что денормализированные данные могут потерять взаимоотношения между атомарными данными.


Конец
Иммануил Кант спешит напомнить, что если дать человеку все, чего он желает, то в ту же минуту он почувствует, что это все не есть все.

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке