- •«Базы данных»
- •1. Введение
- •Построение модели данных для составных объектов
- •2.1. Основные понятия
- •2.2. Концептуальная модель строительной компании Премьер
- •Моделирование концептуальных и физических объектов
- •3.1. Основные понятия
- •3.2. Библиотечная проблема
- •3.3 Проектирование модели данных для библиотеки
2.2. Концептуальная модель строительной компании Премьер
Строительная компания Премьер возводит различные здания. Для всех зданий требуются разнообразные материалы в различных количествах. На разных этапах проекта работают разные бригады. Например, есть бригады арматурщиков, каменщиков, штукатуров и т.д. Составляя график работ, фирма Премьер варьирует состав бригад. Рабочие назначаются в разные бригады в соответствии с квалификацией. Один рабочий может выполнять различные виды работы, например, плотника каменщика, поэтому его иногда включают в бригаду арматурщиков, иногда каменщиков. Численность бригад меняется в зависимости от размера здания и предъявляемых к нему требований. Следовательно, бригады составляются таким образом, как требуется для конкретного здания. Кроме того, для каждой бригады, работающей на строительстве данного здания, назначается бригадир. Рабочий может возглавлять одну бригаду и работать в другой простым рабочим. Менеджер компании, хочет знать, кто из его рабочих в какую бригаду назначен на разных зданиях, какие материалы используются при возведении разных зданий, а также график работ по каждому зданию. Разработаем концептуальную модель базы данных, которая может обеспечить нужную информацию.
На рис. 4.3 За представлено отношение между зданиями и материалами. Объектное множество ЗДАНИЕ содержит элементы, соответствующие зданиям. Объектное множество ТИП МАТЕРИАЛА представляет типы материалов, например, «доска 2х4х10 дюймов» или «гвозди №10». Мощность отношения между множествами ЗДАНИЕ и ТИП МАТЕРИАЛА указывает, что для каждого здания требуется несколько типов материалов и каждый тип материалов используется в нескольких зданиях. Обратите внимание, что атрибут АДРЕС относится только к множеству ЗДАНИЕ. АДРЕС может использоваться в качестве ключа для идентификации конкретного здания.
Рис. 6. Моделирование отношений между зданиями и материалами
Прямоугольник вокруг отношения ТРЕБУЕТ показывает, что мы хотим рассматривать отношение как составное объектное множество. Затем мы придаем этому объектному множеству атрибут КОЛИЧЕСТВО. Элементами этого объектного множества являются пары: здание и тип материала. Так, например, элементом множества ТРЕБУЕТ может быть пара, составленная из здания на Пятой стрит, 610, и доски 2х4х10 дюймов. Этой паре затем приписывается количество — например, 500 штук — в котором такие доски требуются для строительства данного здания.
Важно отметить, что в этом примере объектное множество ТИП МАТЕРИАЛА представляет собой скорее концептуальный, чем физический объект. Это означает, что каждый элемент множества ТИП МАТЕРИАЛА обозначает тип материала, а не физический «кусок» материала. Такое понятие концептуального объекта, противопоставляемого физическому объекту, часто применяется в концептуальном моделировании данных. В некоторых случаях требуется моделировать отдельные объектные множества для физических объектов.
Концептуальный объект. Объект, обозначающий тип вещей.
Физический объект. Объект, обозначающий реальный физический предмет.
Теперь мы покажем, как отразить формирование бригад и назначение рабочих и бригадиров. На рис. 7 представлено отношение между объектными множествами ТИП БРИГАДЫ и ЗДАНИЕ. ТИП БРИГАДЫ — еще один пример концептуального объектного множества; то есть элементы множества ТИП БРИГАДЫ соответствуют не конкретным бригадам, а типам бригад, таким как бригада арматурщиков или бригада каменщиков.
Рис. 7. Модель формирования бригад
Отношение между зданием и типом бригады представляет конкретную бригаду - бригаду, назначенную выполнять на данном здании данный тип работ. Таким образом, мы можем рассматривать это отношение как объект. Назовем его БРИГАДА.
Рис. 8. Назначение рабочих в бригады
Для каждой бригады как элемента объектного множества БРИГАДА выбираются дни работы. Например, бригаде штукатуров требуется несколько дней для того чтобы оштукатурить данное здание. Таким образом, у нас есть отношение мощности много-ко-многим, РАБОТАЕТ-ТОГДА-ТО, между объектами БРИГАДА и ДАТА.
На рис. 8 представлено распределение рабочих и бригадиров по бригадам. Обратите внимание, что отношение ЯВЛЯЕТСЯ-БРИГАДИРОМ имеет мощность один-ко-многим. Это связано с тем, что у бригады может быть только один бригадир, при этом один и тот же человек может возглавлять несколько бригад.
На рис. 9 представлена объединенная диаграмма, представляющая полную модель данных для строительной компании.
Рис.9. Модель данных для строительной компании