Нормализация данных

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

каждая следующая нормальная форма в некотором смысле лучше предыдущей;

при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная форма (1NF); вторая нормальная форма (2NF); третья нормальная форма (3NF); нормальная форма Бойса-Кодда (BCNF); четвертая нормальная форма (4NF); пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF). Целью нормализации является:

1) Уменьшение объема для хранения данных.

2) Повышение эффективности работы БД. Процедура нормализации выполняется поэтапно.

Существует пять этапов нормализации, которые называются в теории проектирования БД построением нормальных форм. На первом этапе, при построении первой нормальной формы, требуется, чтобы таблица, содержащая характеристики объекта и их значения, была двухмерной и не содержала повторяющихся групп. Двухмерность означает, что таблица должна определятся двумя параметрами: длиной - количеством строк или записей; шириной - количеством столбцов или полей. Если в таблице содержатся повторяющиеся данные, то они выносятся в другую таблицу. Чтобы в ячейке не содержалось несколько величин, вводят третье измерение-глубину, которое также требует создание отдельной таблицы. На втором этапе нормализации (при построении 2-ой нормальной формы) требуется, чтобы данные во всех полях (столбцах) таблицы, полностью зависели от первичного или составного ключа. На третьем этапе (при построении 3-ей нормальной формы) требуется, чтобы все не ключевые столбцы были независимы друг от друга. Если такая зависимость появляется, то это служит основанием для разбиения таблицы. На четвертом этапе (при построении 4-ой нормальной формы) требуется, чтобы в одной таблице не содержались элементы данных, если между ними существуют отношения "ко многим многие" или " один ко многим". На пятом этапе (при построении 5-ой нормальной формы) требуется, чтобы можно было восстановить исходную таблицу на основе информации тех таблиц, на которые она была разбита. База данных может содержать любое число таблиц.