Для обсуждения первой нормальной формы необходимо ввести следующие определения:
Простой атрибут – атрибут, значение которого атомарно (неделимо).
Сложный атрибут – атрибут, который определен на разных доменах (его также называют вектором или агрегатом данных).
Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты атомарные, то есть являются простыми.
Пример. Рассмотрим ненормализованное отношение в системе учета претендентов на рабочие места. Во время проектирования выясняется, что будущие пользователи системы хотят хранить два справочных телефона для каждого кандидата на рабочее место. Получается следующее отношение (рис. 6.3).
Рис. 6.3. Пример таблицы со сложным атрибутом
В таблице нарушено условие первой нормальной формы, так как в таблице имеется два однотипных столбца. То есть один атрибут телефон определен на двух доменах телефон 1 и телефон 2. Это может привести к следующим последствиям при использовании ИС. Может потребоваться ввод 3–4 телефонов для некоторых кандидатов. В результате необходимо будет менять не только структуру таблицы, но и программный код приложения.
Необходимо удалить сложный атрибут из данного отношения и определить его на одном домене в другом отношении (рис. 6.4).
Рис. 6.4. Таблицы, приведенные к первой нормальной форме
Новая структура не содержит повторяющихся доменов.
Таким образом, каждая таблица в первой нормальной форме (1НФ) удовлетворяет критерию, в соответствии с которым в каждой ячейке на пересечении строки и столбца таблицы всегда находится одно единственное атомарное значение.