Нормализация представляет собой процесс реорганизации данных путем ликвидации повторяющихся групп и иных противоречий с целью приведения отношений к виду, позволяющему осуществлять непротиворечивое и корректное редактирование данных.
Окончательная цель нормализации сводится к получению такого проекта данных информационной системы, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Таким образом, нормализацию можно также определить как процесс, направленный на снижение избыточности информации в реляционной модели данных.
Избыточность информации устраняется не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных и упрощения управления ими.
Использование ненормализованных отношений может привести к нарушению целостности данных (непротиворечивости информации) в будущей базе данных. Обычно различают следующие проблемы, возникающие при наличии ненормализованных отношений:
· избыточность данных;
· аномалии обновления;
· аномалии удаления;
· аномалии ввода.
Теория нормализации основана на концепции нормальных форм. Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если оно удовлетворяет свойственному данной форме набору ограничений.
· пятая нормальная форма, или нормальная форма проекции-соединения (5N1 PJ/NF).
Основные свойства нормальных форм:
· каждая следующая нормальная форма в некотором смысле лучше предыдущей;
· при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются
Наиболее важные на практике нормальные формы отношений основываются на понятии функциональной зависимости. Функционально зависимым считается такой атрибут, значение которого однозначно определяется значением другого атрибута. Функционально зависимые атрибуты обозначаются следующим образом: X—>Y. Эта запись означает, что если два кортежа в таблице имеют одно и то же значение атрибута X, то они имеют одно и то же значение атрибута Y. Атрибут, указываемый в левой части, называется детерминантом. Первичный ключ отношения является детерминантом, так как его значение однозначно определяет значение любого атрибута отношения.