Смекни!
smekni.com

Методические указания к домашнему заданию по курсу базы данных систем управления для студентов дневной и заочной форм обучения специальностей (стр. 4 из 12)

Важно отметить, что в этом примере объектное множество ТИП МАТЕРИАЛА пред­ставляет собой скорее концептуальный, чем физический объект. Это означает, что каждый элемент множества ТИП МАТЕРИАЛА обозначает именно тип, а не физичес­кий «кусок» материала. Такое понятие концептуального объекта, противопоставляе­мого физическому объекту, часто применяется при концептуальном моделировании данных. В некоторых случаях требуется моделировать отдельные объектные множе­ства для физических объектов.

Теперь мы покажем, как отразить формирование бригад и назначение рабочих и бригадиров. На рис. 6.5 представлено отношение между объектными множества­ми ТИП БРИГАДЫ и ЗДАНИЕ. ТИП БРИГАДЫ - еще один пример концептуального объектного множества; то есть элементы множества ТИП БРИГАДЫ со­ответствуют не конкретным бригадам, а типам бригад, таким как бригада арма­турщиков или бригада каменщиков. Отношение между зданием и типом бригады представляет конкретную бригаду — бригаду, назначенную выполнять на данном здании данный тип работ. Таким образом, мы можем рассматривать это отноше­ние как объект, назвав его БРИГАДА.

Рис. 6.4. Моделирование отношений между зданиями и материалами: а — отношение между зданиями и материалами;

б — количество материала данного типа, использованного в здании

Рис. 6.5. Модель формирования бригад

Для каждой бригады как элемента объектного множества БРИГАДА выбираются дни работы. Например, бригаде штукатуров требуется несколько дней для того, чтобы оштукатурить данное здание. Таким образом, у нас есть отношение много-ко-многим, РАБОТАЕТ-ТОГДА-ТО, между объектами БРИГАДА и ДАТА.

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

Рис. 6.6. Назначение рабочих в бригады

На рис. 6.7 представлена объединенная диаграмма, представляющая полную мо­дель данных для строительной компании «Премьер».

Рис. 6.7. Модель данных для строительной компании «Премьер"

Создание нового проекта в Power Designer

Для создания концептуальной модели базы данных запустите программу Power Designer и выберите из меню File команду New. Откроется основное окно програм­мы, которое содержит область отображения модели, меню, панель инструментов и панель элементов модели (рис. 6.8).

Прежде всего определим свойства создаваемой модели, которые используются для ее идентификации, описания и отображения в отчетах по модели. Для этого вы­полните команду Dictionary > Model Properties. Откроется окно диалога Model Properties (рис. 6.9). Задайте в нем наименование и идентификатор проекта, в рамках кото­рого создается данная модель, а также наименование и идентификатор самой модели. Кроме этого, вы можете указать автора модели, используемый язык, версию модели, ввести краткое и подробное описание, аннотацию.

рис. 6.8 Основное окно Power Design

рис. 6.9 Определение свойств модели

Создание сущностей

Для создания сущности выберите на панели элементов значок с изображе­нием прямоугольника, содержащего в верхней части горизонтальную линию, II перенесите его в область модели. Создастся прямоугольник для попои сущнос­ти, которая пока содержит только наименование. Для определения свойств сущ­ности сделайте двойной щелчок на изображении прямоугольника. Откроется окно диалога Entity Properties. Перейдите на вкладку Definition и введите наименование, идентификатор и краткое описание сущности (рис. 6.10). Подробное описание вво­дится в поле редактирования на вкладке Description. При совместной разработке модели информационной системы вкладка Annotation может использоваться для замечаний и комментариев по поводу сущности. При нажатии на кнопку Attributes, расположенную на вкладке Description, открывается окно диалога ввода атрибутов сущности. Для определения бизнес-правил сущности щелкните на кнопке Rules и в открывшемся окне диалога выберите одно из ранее созданных правил.

рис. 6.10 Определение свойств сущности

Создание доменов

Прежде чем перейти к непосредственному определению атрибутов сущности, познакомимся с созданием доменов. Домены являются аналогами пользователь­ских типов в реляционных базах данных и могут использоваться для указания ти­пов атрибутов сущностей. Для создания домена выполните команду Model > Domains. Откроется окно диалога List of Domains, которое содержит таблицу со списком доменов модели (рис. 6.11).

Рассмотрим создание домена идентификаторов элементов списка, который будет использоваться при определении таких атрибутов, как WORKER_ID (идентифика­тор работника) или BLDG_ID (идентификатор здания). Тип данных создаваемого домена — четырехзначное число (фактически это подтип стандартного числового типа данных Number) и его значение по умолчанию равно нулю. Для создания нового домена щелкните на кнопке New и введите в столбцы Name и Code таблицы наименование и идентификатор домена. Для определения типа данных перейдите в столбец Data Type и щелкните на кнопке с многоточием, расположенной с правого края ячейки. Откроется окно диалога Standard Data Types, в котором можно выбрать требуемый тип из большого количества базовых типов данных. В данном случае необходимо выбрать тип Number и задать в поле Length длину 4.

рис. 6.11 Окно диалога со списком доменов

Для определения значения по умолчанию щелкните на кнопке Standard Checks. Откроется окно диалога Check Parameters (рис. 6.12). На отображаемой по умолчанию вкладке Standard Parameters в полях области Values определите минимальное и максималь­ное значения, а также значение по умолчанию. Здесь же вы можете задать формат, единицу измерения и список допустимых значений домена. Для определения биз­нес-правил домена щелкните на кнопке Rules и выберите в открывшемся окне диа­лога одно из ранее созданных правил.

Рис. 6.12. Определение ограничений для домена

Для ввода подробного описания и аннотации щелкните в окне диалога List of Domains на кнопках Describe и Annotation соответственно. Для каждой из них будет открыто соответствующее окно диалога, содержащее поля для ввода текста.

Определение атрибутов сущностей

Для определения атрибутов сущности откройте окно свойств и щелкните на вкладку Attributes. Откроется окно диалога ввода атрибутов сущности (рис. 6.13).

рис. 6.13 Определение атрибутов сущности

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

Для сущности WORKER первые три атрибута имеют идентификаторы WORKER_ID (идентификатор работника), NAME (имя) и HRLY_RATE (недельная зарплата) соот­ветственно. Для атрибута WORKER_ID выберите из списка Domain созданный ранее домен IDENT. При этом автоматически определяются тип данных и значение по умолчанию. Атрибут WORKER_ID является идентифицирующим атрибутом, так как однозначно определяет работника, поэтому для него установите флаг в столбце I. Обратите внимание, что при этом автоматически устанавливается флаг запрета пустых значений.

Для атрибутов BLDG_TYPE (тип здания) и STATUS (статус) сущности BUILDING (зда­ние) необходимо определить значения по умолчанию: 'Офис' и 1 соответственно. Кроме того, они имеют ограничения на значения атрибутов. Атрибут RLDG_TYPE может содержать только значения из множества ('Офис'. 'Склад'. 'Магаз. 'Жилой Дом') (рис. 6.14), а значение столбца STATUS может быть от 1 до 3.

Рис. 6.14. Определение списка допустимых значений

Определение связей между сущностями

Для создания связи между двумя сущностями выполните следующие действия:

1. Выберите на панели элементов кнопку, на которой показаны два прямо- в угольника, соединенные линией.

2. Соедините линией две сущности.

В модели появляется связь между выбранными сущностями, которой по умолчанию присваивается имя Re1ation_n, где n — порядковый номер создаваемой связи

Для определения свойств созданной связи сделайте на ней двойной щелчок мышьи Откроется окно свойств связи (рис. 6.15), в верхней части которого расположен! графическое отображение связи и кнопки с наименованиями соединяемых. Введите в ноля Name, Code н Label наименование связи, ее идентификатор и крш кос описание. Затем задайте в области Cardinality тин связи между сущностями: один-к-одному, один-ко-многим, многие-к-одному или многие-ко-многим.