Нормализация – поэтапное преобразование отношений, входящих в базу данных в соответствии с требованиями нормальных форм. На сегодняшний день выделяют шесть нормальных форм.
Считается, что чем в более высокой нормальной форме находится база данных, тем лучше ее структура. Качество структуры данных – можно считать, что качественной является структура, позволяющая хранить все необходимые данные, избавленная от аномалий вставки, обновления и удаления, а также позволяющая добиться наивысшей производительности и при наименьшем размере файлов с данными. Вопросы производительности должны рассматриваться для каждой СУБД индивидуально, полнота хранимых данных зависит от способностей аналитика, а про аномалии необходимо сказать чуть подробнее. Аномалия вставки – ситуация, когда невозможно добавить сведения об одном объекте без добавления одновременно сведений о другом объекте.
Аномалия обновления – ситуация, когда одни и те же данные повторяются неоднократно, и при каждом изменении этих данных мы должны следить, чтобы изменились все экземпляры.
Аномалия удаления – ситуация, при которой при удалении ненужных данных одновременно удаляются нужные.
Т.о., процесс нормализации – это процесс разбиения отношений на более мелкие, целью которого является исключение все трех аномалий. Аномалии исключаются за счет того, что данные о каждой сущности в предметной области хранятся и обрабатываются отдельно и независимо от других.
Такое раздельное хранение данных позволяет также избежать дублирования данных.
Процесс проектирования базы данных с использованием этого подхода состоит в следующем:
- строится так называемое «универсальное отношение» - отношение, в которое входят все атрибуты, выявленные в предметной области. Оно находится в 1НФ.
- в данных выявляются так называемые функциональные зависимости, после чего они устраняются при помощи разделения отношений на более мелкие.
- после того, как все фун-е зависимости будут устранены, БД будет в наивысшей возможной НФ.