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