Приведение к первой нормальной форме
Когда поле в данной записи содержит более одного значения для каждого вхождения первичного ключа, такие группы данных называются повторяющимися группами. 1НФ не допускает наличия таких многозначных полей. Рассмотрим пример базы данных предприятия, содержащей таблицу ОТДЕЛ со следующими значениями (атрибут, выделенный курсивом, является первичным ключом):
Табл. A: ОТДЕЛ
Номер_отдела | Название | Руководитель | Бюджет | Расположение |
100 | продаж | 000 | 1000000 | Москва |
100 | продаж | 000 | 1000000 | Зеленоград |
600 | разработок | 120 | 1100000 | Тверь |
100 | продаж | 000 | 1000000 | Калуга |
Для приведения этой таблицы к 1НФ мы должны устранить атрибут (поле) Расположение из таблицы ОТДЕЛ и создать новую таблицу РАСПОЛОЖЕНИЕ_ОТДЕЛОВ, в которой определить первичный ключ, являющийся комбинацией номера отдела и его расположения (Номер_отдела+Расположение - см. табл. b). Теперь для каждого расположения отдела существуют различные строки; тем самым мы устранили повторяющиеся группы.
Табл. B: РАСПОЛОЖЕНИЕ_ОТДЕЛОВ
Номер_отдела | Расположение |
100 | Москва |
100 | Зеленоград |
600 | Тверь |
100 | Калуга |