Процесс нормализации был впервые предложен Коддом в 1972 году [1, 2]. Этот процесс основан на понятии функциональной зависимости. По определению «функциональная зависимость – это такая связь между атрибутами В и А одного и того же отношения, когда каждому значению А соответствует только одно значение В» [2]. Атрибут А называют детерминантом. Детерминанты могут быть составными, т.е. представлять собой не единичные атрибуты, а группы, состоящие из двух и более атрибутов. Нормализация обычно приводит к разделению одной таблицы на две или более таблиц, соответствующих требованиям нормальных форм. Общепринятыми считаются пять нормальных форм. Сначала было предложено только три вида нормальных форм: первая (1НФ), вторая (2НФ) и третья (3НФ). Затем Бойсом и Коддом в 1974 году было сформулировано более строгое определение третьей нормальной формы, которое получило название нормальной формы Бойса-Кодда (НФБК).
Вслед за НФБК появились определения четвертой (4НФ) и пятой (5НФ) нормальных форм в 1977 и в 1979 годах. Однако на практике эти нормальные формы более высоких порядков используются редко.
Каждая последующая форма удовлетворяет требованиям предыдущей. Если следовать только первому правилу нормализации, то данные будут представлены в 1НФ. Если данные удовлетворяют третьему правилу нормализации, они будут находиться в 3НФ (а также во 1НФ и 2НФ) и т.д.
Таким образом, каждая последующая форма предъявляет больше требований к данным, чем предыдущая.
Первая нормальная форма требует, чтобы на любом пересечении строки и столбца находилось единственное значение, которое должно быть атомарным (неделимым). В таблице, удовлетворяющей 1НФ, не должно быть повторяющихся групп.
Обратимся к учебной базе данных. Предположим, что данные из таблиц Abonent и Street ранее содержались в одной общей ненормализованной таблице. Вид такой таблицы представлен на рис. 1.4.
предыдущаяследующая