12
ты, вместе с атрибутом Табельный номер, выделяются в отдельную таблицу
(таблица 1.4). Присвоим этой таблице имя “Сотрудники”.
Атрибуты Адрес, Тип объекта и Нормативный документ также находятся
в функциональной зависимости от части ключа – атрибута Номер проекта. Эти
атрибуты, вместе с атрибутом Номер проекта, также выделяются в отдельную
таблицу (таблица 1.5). Назовем эту таблицу “Проекты”.
Таким образом, БД проектно-строительной организации, приведенная
к 2НФ, состоит из трех таблиц (таблицы 1.3, 1.4, 1.5).
Таблица 1.3 – Работа над проектами
Табельный номер Номер проекта Дата начала Дата окончания
12 2140 15.01.2007 25.02.2007
15 2042 5.01.2007 30.01.2007
15 2140 10.01.2007 1.03.2007
27 2060 10.01.2007 1.03.2007
30 2080 1.02.2007 25.02.2007
Таблица 1.4 – Сотрудники
Табельный номер Фамилия Специальность Оклад
12 Андреев инженер-электрик 500
15 Иванов инженер-строитель 400
27 Мишин архитектор 600
30 Яковлев инженер-строитель 500
Таблица 1.5 – Проекты
Номер проекта Адрес Тип объекта Нормативный документ
2140 ул.Лесная,2 жилой дом СНиП 75
2042 ул.Заводская, 8 склад СНиП 62
2060 ул.Речная, 12 жилой дом СНиП 75
2080 ул.Красная, 7 магазин СНиП 40
БД, приведенные к 2НФ, также могут иметь существенные недостатки.
Так, в рассматриваемом примере таблица 1.5 имеет следующие недостатки:
− избыточность данных: некоторые данные хранятся многократно. На-
пример, данные о том, какой нормативный документ соответствует каждому
типу объекта, хранятся несколько раз (столько, сколько имеется проектов с
данным типом объекта). Так, информация о том, что жилые дома проектируют-
ся согласно документу СНиП 75, приведена в таблице 1.5 дважды;
− аномалия добавления (ввода): невозможность ввода данных о норматив-
ном документе, соответствующем некоторому типу объектов, если в данный
момент в БД нет данных об объектах такого типа. Например, в таблицу 1.5 не-
возможно ввести данные о том, что объекты типа “производственный цех” про-
ектируются, например, согласно СНиП 100 (так как в таблице нет данных об
объектах типа “производственный цех”);
− аномалия удаления: при удалении данных о проекте могут быть потеря-
ны данные о нормативном документе, по которому разрабатывался данный
проект (если в БД нет данных о других проектах с тем же типом объекта). На-
пример, если из таблицы 1.5 удалить данные об объекте 2042, то будет потеря-
на информация о том, что склады проектируются согласно СНиП 62;