В расположенных ниже двух областях для каждой сущности связи задаются обязательность, мощность связи и зависимость. Степень связности, то есть количество связываемых экземпляров данной сущности, указывается в нолях Min и Ма; Свойство Mandatory определяет, является ли связь обязательной, и в зависимоеcти от типа связи отображается на линии в виде следующих значков.
Флажок Mandatory | Тип отношения | Описание | Значок |
Установлен | Один | Должен существовать один и только один элемент | |
Установлен | Много | Должны существовать один или несколько элементов | |
Снят | Один | Может существовать один элемент или ни одного | |
Снят | Много | Может существовать один элемент, несколько или ни одного |
Рис. 6.15. Определение свойств связи
При определении зависимой связи для идентификации сущности используются идентифицирующие атрибуты связанной сущности. Например, для сущности ASSIGNMENT обе связи с сущностями WORKER и BUILDING являются зависимыми.
Каждый элемент сущности ASSIGNMENT однозначно определяется совокупностью идентифицирующих атрибутов сущностей WORKER и BUILDING. Для установки признака зависимой связи используется флажок Dependent.
Для типа отношения один-к-одному можно установить флажок Dominant, который указывает родительскую сущность.
На рис. 6.16 представлен результат создания концептуальной модели информационной системы «Премьер».
Проверка модели
При использовании CASE-средств можно в любой момент проверить созданную модель па наличие ошибок. Для этого выполните команду Tools > Check Model и установите в открывшемся окне диалога флажки проверки сущностей, атрибутов и связей. Затем щелкните на кнопке ОК для запуска процесса проверки. Ее результат будет отображаться в окне Result List(рис. 6.17).
Для исправления ошибки дважды щелкните на соответствующей строке и окне сообщений. Откроется связанное с этой ошибкой окно свойств сущности, атрибута или связи.
Документирование модели базы данных
CASE-средства содержат прекрасные возможности для создания описания моде-ли базы данных. Во-первых, вы можете распечатать модель в графическом виде.
Рис. 6.16. Концептуальная модель информационной системы «Премьер
»
Рис. 6.17. Отображение результатов проверки
Для этого в Power Designer необходимо выполнить команду File > Print Graphics и указать в появляющемся окне диалога печатаемые страницы и тип цветной или Черно-белой печати.
С помощью средств создания отчетов можно сформировать полное описание модели, включив в него всю необходимую информацию, которая была введена при проектировании модели. Для создания отчета выполните команду File > Create Report. Откроется окно диалога со списком предопределенных типов отчетов. Вы можете выбрать любой из них и создать отчет, а при необходимости модифицировать выбранный тип отчета и сохранить его спецификацию под новым именем. При выборе режима модификации отчета открывается окно настройки (рис. 6.18), в левой части которого находится список возможных атрибутов отчета, а в правой - список атрибутов, выбранных для отображения в отчете.
Рис. 6.18. Настройка пользовательского отчета
Рис. 6.19. Изменение шаблона элемента
Используя механизм перетаскивания, вы можете выбрать любой элемент из левой части и разместить его в нужном месте шаблона отчета. Для элементов отчета можно устанавливать шрифт и параметры абзаца. Для элементов, являющихся заголовками сущностей, атрибутов и связей, можно изменять отображаемый текст. Для этого в контекстном меню элемента выберите команду Edit и измените шаблон элемента в окне редактирования (рис. 6.19).
При отображении списков сущностей, атрибутов и связей можно указать перечень отображаемых свойств, порядок их расположения в таблице, а также размеры столбцов в абсолютном и процентном выражении (рис. 6.20).
Рис. 6.20. Определение списка отображаемых свойств
Созданный отчет можно вывести на печать или сохранить в формате RTF, чтобы продолжить редактирование в текстовом процессоре.
Концептуальная модель позволяет понять суть создаваемой информационной системы, но она не подходит для создания непосредственно структуры базы данных. Для генерации структуры базы данных необходимо преобразовать концептуальную базу данных в физическую.
Рассмотрим сначала общие принципы преобразования:
- каждая сущность преобразуется в таблицу. Имя сущности становится именем таблицы;
- каждый атрибут становится столбцом таблицы с тем же именем, уточняется тип данных, выбирается более точный формат;
- идентифицирующие атрибуты сущности превращаются в первичный ключ таблицы. Если для данной сущности имеются зависимые связи, к числу столбцов первичного ключа добавляется копия уникального идентификатора сущности, находящегося на другом конце связи (этот процесс может продолжаться рекурсивно);
- связи многие-к-одному и один-к-одному становятся внешними ключами. Для них создается копия уникального идентификатора с одиночного конца связи, и соответствующие столбцы составляют внешний ключ;
- для первичного ключа (уникальный индекс) и внешних ключей создаются индекс;
- для связей многие-ко-миогим создается таблица, столбцами которой являются уникальные идентификаторы связываемых сущностей (они составляют первичный ключ).
В Power Designer для преобразования концептуальной модели в физическую выполните команду Tools > Generate Physical Data Model. Откроется окно диалога Generating Physical Data Model (рис. 6.21), в котором, прежде всего укажите тип СУБД, для которой будет создаваться модель. Затем установите флажки добавления подробных описаний и аннотаций, проверки модели перед преобразованием, определите шаблоны для определения наименований первичных и внешних ключей. Для всех связен, имеющихся в модели, задаются единые правила удаления и изменения. Структуре базы данных для разных связей требуются разные правила, мы можете уточнить их в физической модели.
Рис. 6.21. Определение параметров преобразования концептуальной модели в физическую.
Рис. 6.22. Физическая модель информационной системы «Премьер»
Щелкните на кнопке ОК. Запустится процесс преобразования, после завершения которого созданная модель откроется в отдельном окне (рис. 6.22). Вы можете модифицировать физическую модель, распечатывать ее в графическом виде и создавать отчеты.
После создания физической модели и ее уточнения вы можете создать структуру базы данных с помощью команды Database > Generate Database. Откроется окно диалога Parameters (рис. 6.23), в котором необходимо установить флажки создания таблиц, индексов, комментариев и т. п.
Рис. 6.23. Определение параметров создания структуры базы данных
Для создания структуры базы данных непосредственно из данного окна диалога щелкните на кнопке Create database. Откроется окно диалога установления соединения с источником данных ODBC; после соединения созданный сценарии будет выполнен сервером базы данных. Однако наиболее часто используется другой путь: с помощью кнопки Generate script создается сценарии, который затем запускается на выполнение средствами сервера базы данных.
Ниже приведен текст сценария создания таблицы BUILDING и комментариев к ней и ее столбцам:
create table BUILDING (
BLDGJDNUMBER not null. BLDG_ADDRESS VARCHAR2000) null
BLDGJYPE CHAR(20) default 'Офис' not null
constraint CKC_BLDG_TYPE_BUILDING
check (BLDG_TYPE in ('Офис'.'Склад'.'Магазин'.'Жилой дом')),
QLTYJ.EVEL NUMBER(l) null
STATUS NUMBERO) default 1 not null
constraint CKC_STATUS_BUILDING check (STATUS between 1 and 3).
constraint PK_BUILDING primary key (BLDGJD) ) /
comment on table BUILDING is 'Список строящихся зданий' /
comment on column BUILDING.BLDG_ID is 'Идентификатор' /
comment on column BUILDING.BLDG_ADDRESS is 'Адрес' /
comment on column BUILDING.BLDGJTYPE is 'Тип здания' /
comment on column BUILDING.QLTYJ.EVEL is 'Уровень качества' / comment on column BUILD ING.STATUS is 'Статус'
Жизненный цикл создания и сопровождения информационной системы имеет вид спирали. Это означает, что модификация структуры базы данных практически неизбежна. Использование CASE-средств позволяет несколько облегчить поддержку нескольких версий структуры и автоматизировать создание сценариев изменения структуры базы данных.
Закончив разработку очередной версии модели базы данных, создайте архив физической модели с помощью команды Database > Archive Model. Теперь вы можете модифицировать модель и после завершения создания очередной версии запустить процесс модификации структуры базы данных с помощью команды Database > Modify Database. При этом откроется окно диалога Parameters, которое, в отличие от аналогичного окна создания структуры базы данных, содержит поле для ввода имени архивированной модели. После задания всех необходимых для модификации параметров щелкните на кнопке Generate script. Power Designer сравнит текущую модель базы данных с архивированной моделью и создаст сценарий, содержащий команды модификации структуры базы данных. При этом учитываются особенности выбранной СУБД. Например, в ORACLE 7.3, в отличие от некоторых других систем, отсутствует команда удаления поля таблицы. В этом случае создается временная таблица, в которую переписывается вся информация из модифицируемой таблицы. После этого таблица удаляется и создается вновь — без удаленного столбца. Затем в нее добавляются записи из временной таблицы. Ниже приведен пример удаления столбца QLTY_LEVEL из таблицы BUILDING: