Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium / MARTIN3.DOC
Скачиваний:
45
Добавлен:
19.04.2013
Размер:
92.67 Кб
Скачать

Добавления в нормализованной схеме

Обычно реляционные базы данных должны разрабатываться так, чтобы в существующие кортежи можно было добавлять новые элементы сеты данных, если этого требуют новые приложения или изменяется пред­ставление пользователя о данных. Могут добавляться и новые связи между существующими отношениями: либо добавлением новых эле­ментов данных, либо (в редких случаях) созданием нового отношения.

Схема

Нормализованная форма схемы:

ОТДЕЛЕНИЕ (НОМЕР-ОТДЕЛЕНИЯ, НАЗВАНИЕ-ОТДЕЛЕНИЯ, ПРЕЗИДЕНТ)

ЗДАНИЕ (НОМЕР-ЗДАНИЯ, НОМЕР ОТДЕЛЕНИЯ, ГОРОД, АДРЕС, КОЛИЧЕСТВО СЛУЖАЩИХ)

ОТДЕЛ (НОМЕР-ОТДЕЛА, НОМЕР-ОТДЕЛЕНИЯ, НАЗВАНИЕ-ОТДЕЛЕНИЯ, РУКОВОДИТЕЛЬ)

СЛУЖАЩИЙ (НОМЕР-СЛУЖАЩЕГО, НОМЕР-ОТДЕЛА, ИМЯ-СЛУЖАЩЕГО, ЗАРПЛАТА, ЗВАНИЕ)

ПРОЕКТ (НОМЕР-ПРОЕКТА, НОМЕР-ОТДЕЛА, НАЗВАНИЕ ПРОЕКТА, ДАТА-ОКОНЧАНИЯ)

БЮДЖЕТ (НОМЕР-БЮДЖЕТА, НОМЕР-ПРОЕКТА, ПЛАНОВЫЙ-ПЕРИОД, ИТОГО)

Рис. 13.3. Древовидная схема.

Для преобразования этой схемы в нормализованную структуру добавлены дополнительные атрибуты, реализующие пути, ведущие вверх по дереву (выделены полужирным шрифтом). В таких базах данных для следования по связям с двойными стрелками необходимы операции над вторичными ключами.

На рис. 13.4 показано добавление новых связей в древовидной структуре, приведенной на рис. 13.3, при ее преобразовании в сетевую структуру.

Схема

Нормализованная форма схемы:

ОТДЕЛЕНИЕ (НОМЕР-ОТДЕЛЕНИЯ, НАЗВАНИЕ-ОТДЕЛЕНИЯ, ПРЕЗИДЕНТ)

ЗДАНИЕ (НОМЕР-ЗДАНИЯ, НОМЕР ОТДЕЛЕНИЯ, ГОРОД, АДРЕС, КОЛИЧЕСТВО СЛУЖАЩИХ)

ОТДЕЛ (НОМЕР-ОТДЕЛА, НОМЕР-ОТДЕЛЕНИЯ, НАЗВАНИЕ-ОТДЕЛЕНИЯ, РУКОВОДИТЕЛЬ)

СЛУЖАЩИЙ (НОМЕР-СЛУЖАЩЕГО, НОМЕР-ОТДЕЛА, ИМЯ-СЛУЖАЩЕГО, ЗАРПЛАТА, ЗВАНИЕ)

ПРОЕКТ (НОМЕР-ПРОЕКТА, НОМЕР-ОТДЕЛА, НАЗВАНИЕ ПРОЕКТА, ДАТА-ОКОНЧАНИЯ)

БЮДЖЕТ (НОМЕР-БЮДЖЕТА, НОМЕР-ПРОЕКТА, ПЛАНОВЫЙ-ПЕРИОД, ИТОГО)

Размещение (номер-здания, номер-отдела)

Рис. 13.4. Добавление дополнительных связей к древовидной структуре, приведенной на рис. 13.3.

Дополнительные связи обрабатываются путем добавления двух новых атрибутов в кортеж и созданием одного нового кортежа.

Связь между элементами СЛУЖАЩИЙ и ЗДАНИЕ может быть добавлена путем включения элемента данных НОМЕР-ЗДАНИЯ в кортеж СЛУЖАЩИЙ. Связь между элементами СЛУЖАЩИЙ и ПРОЕКТ может быть добавлена включением НОМЕР-ПРОЕКТА в кортеж СЛУЖАЩИЙ.

Связь между элементами ЗДАНИЕ и ОТДЕЛ относится к типу М : М (многие ко многим). В одном здании может быть расположено несколько отделов, и один отдел может размещаться в нескольких зданиях. Если бы мы решили добавить элемент данных НОМЕР-ОТДЕЛА в кортеж ЗДАНИЕ, то нам пришлось бы при этом несколько раз повторить кортеж для одного здания. Это расточительно, поэтому мы создаем новый кортеж, состоящий только из элементов данных НОМЕР-ЗДАНИЯ и НОМЕР-ОТДЕЛА, что позволяет находить здания, в которых расположен данный отдел и все отделы, расположенные в данном здании.

В общем случае реляционная база данных должна быть способна накапливать новые данные и новые связи без разрушения старых подсхем.

Соседние файлы в папке Kolokvium