Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
27.03.2016
Размер:
56.83 Кб
Скачать

Описание работы в среде Computer Associates Erwin 4.0

В рамках предлагаемого курса построение модели данных предполагается выполнять при помощи специализированных программных CASE-средств. В частности, студенты в своей работе могут использовать такие программы, как Computer Associates Erwin, Embarcadero ErStudio, Ms Visio. В данном описании приводится порядок и основные операции, выполняемые студентами при использовании Erwin. Необходимо отметить, что описываются только базовые концепции Erwin, необходимые для успешного выполнения лабораторного практикума.

Создание пустой модели

Первоначально требуется создать пустую модель. При запуске программы ERWin открывается диалоговое окно, в котором пользователю предлагается возможность открыть существующую модель (Open existing file) или создать новую (Create new model). Для создания новой модели требуется выбрать пункт создания новой модели. В следующем окне необходимо выбрать опцию создания логической/физической (logical/physical) модели и определить целевую СУБД для создаваемой физической модели (предполагается использование SQLServer 2000). На этом создание новой модели завершено.

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

Для добавления сущности в модель необходимо в панели инструментов выбрать кнопку сущность (Entity) и перенести ее на поле модели. В соответствии с методологией проектирования структуры базы данных, для каждой сущности требуется задать номер, имя сущности, ввести определение и описание сущности. Для задания данных свойств сущности нужно щелкнуть правой кнопкой мыши на сущности и в контекстном меню выбрать пункт Entity Properties. В открывшемся окне свойств сущности в поле Name требуется указать номер и имя сущности, на вкладке Definition задать словесное определение сущности, а на вкладке Note – описание сущности.

Построение модели уровня сущностей

Определение связей

Для задания связей в модели требуется выбрать одну из трех кнопок связи на панели инструментов. Для задания неопределенной связи (связи многие ко многим) требуется выбрать кнопку Many-to-many relationship. Для определения идентифицирующей определенной связи требуется выбрать кнопку Identifying relationship, а для задания не идентифицирующей определенной связи Non – Identifying relationship. Затем нужно щелкнуть на сущности, которая выбрана в качестве родительской для определяемой связи, а затем на дочерней, и требуемая связь будет внесена в модель.

Для задания имени и номера связи требуется открыть контекстное меню заданной связи, выбрать пункт Relationship properties и вкладку General. Имя и номер задаются в полях verb phrase. Для неопределенной связи задаются имена в двух направлениях, для определенной связи достаточно задать имя связи только в направлении от родительской сущности к дочерней (parent-to-child). Кроме того, в данном диалоговом окне задаются также все остальные свойства связи. Определяется кардинальное число связи на стороне дочерней сущности (область Cardinality). Кардинальное число может быть заданно как:

  • 0, 1 или более (Zero, One or More)

  • 1 или более (One or More)

  • 0 или 1 (Zero or One)

  • Точное значение (Exactly)

Задается тип связи (область Relationship type):

  • Идентифицирующая (Identifying)

  • Неидентифицирующая (Non- Identifying)

Для неидентифицирующей связи имеется возможность задания обязательности связи (область Nulls)

  • Не обязательная (Null Allowed)

  • Обязательная (No Nulls)

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

Построение модели уровня ключей

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

После разрешения неопределенных связей необходимо определить атрибуты, которые являются первичными и внешними ключами, а также их домены. Для добавления атрибута сущности требуется вызвать контекстное меню данной сущности и выбрать пункт меню Attributes. В раскрывшемся диалоговом окне слева перечислены атрибуты, определенные для сущности, а в правой части задается описание свойств атрибутов. Для добавления нового атрибута требуется нажать кнопку New, после чего откроется окно определения нового атрибута. В поле Attribute Name требуется внести имя создаваемого атрибута, а в поле Column Name – англоязычное имя соответствующей ему в физической модели колонки.

Чтобы указать, что атрибут является первичным ключом отношения, необходимо установить флажок Primary Key расположенный в нижней части вкладки General правой части окна задания атрибутов. Закончив определение атрибута, следует нажать кнопку OK. Задавать атрибуты, являющиеся внешними ключами сущностей в модели нет необходимости, так как сама программа Erwin осуществляет миграцию атрибутов первичного ключа в дочерни сущности.

После определения ключевых атрибутов необходимо определить домены, на которых определены данные атрибуты. Домены будут использоваться при определении типа колонки на уровне физической модели. Необходимо отметить, что на одном домене может быть задано сразу несколько атрибутов.

Для домена в ErWin необходимо задать четыре параметра:

  • имя домена,

  • родительский домен,

  • базовый тип данных домена,

  • проверку на значения атрибутов домена.

Первоначально в модели, создаваемой в ERWin, определенно четыре домена:

  • BLOB – информация в двоичных кодах,

  • DATETIME – множество всех дат и времен,

  • NUMBER – множество всех чисел,

  • STRING –множество всех строк.

Для задания нового домена требуется в правой части окна редактирования свойств атрибута нажать кнопку с точками в качестве заголовка. В ответ на нажатие откроется окно редактирования свойств домена, в котором требуется нажать кнопку New. В открывшемся окне в поле Logical Name необходимо ввести имя нового домена, в области Domain Parent выбрать родительский домен из существующих в модели и нажать OK. Затем в правой части окна редактирования свойств домена на вкладке Datatype требуется определить тип данных для домена, установить признак обязательности (галочка Required) и задать правила проверки на значения атрибутов данного домена. Для задания правил проверки требуется нажать на вкладке Datatype кнопку с точками в виде названия, расположенную напротив поля Valid, что приведет к открытию окна задания проверок для домена. В данном окне требуется нажать кнопку New, внеси имя создаваемой проверки. После определения имени станут доступны поля для задания условия проверки, которые необходимо заполнить.

В рамках программы Erwin возможно задание трех типов проверки:

  • пользовательская проверка (User Defined). При выборе данной проверки требуется ввести логическое условие поле Valid Expression окна задания проверки;

  • проверка на диапазон значений (Min/Max);

  • проверка на вхождение в список разрешенных значений (Valid Value List).

После определения условия проверки требуется вернуться в окно редактирования свойств домена и в списке Valid выбрать созданную поверку. При нажатии кнопки OK создание нового домена завершено. Для связи атрибута с созданным доменом необходимо в правой части окна редактирования атрибутов, на вкладке General выбрать требуемый домен. Требуется подчеркнуть, что домен атрибута внешнего ключа должен совпадать с доменом соответствующего первичного ключа родительской сущности. На данном этапе построение модели уровня ключей можно считать законченным.

Построение полноатрибутной модели

Первым шагом при построении полноатрибутной модели является шаг определения всех атрибутов для сущностей, выявленных на предыдущих этапах моделирования. Для задания атрибутов и их доменов необходимо использовать подход, аналогичный подходу, изложенному выше при построении модели уровня ключей. Каждый атрибут должен быть определен на соответствующем домене. У разных атрибутов домены могут совпадать.

После определения всех атрибутов необходимо задать правила поддержки ссылочной целостности. Данные правила должны быть заданы для всех связей, имеющихся в модели. Для задания данных правил требуется открыть контекстное меню для связи и выбрать пункт меню Relationship Properties. В открывшимся окне редактирования свойств связи требуется перейти на вкладку RI Action. На данной вкладке присутствуют шесть полей. Особый интерес представляют поля Parent Delete и Parent Update. Для данных полей возможно задание следующих возможных вариантов:

  • Restrict – запрет изменения и удаления экземпляра родительской сущности, в случае если с данным экземпляром связан экземпляр дочерней сущности (В MS SQL Server данный подход называется No Action);

  • Cascade – каскадное удаление или обновление;

  • Set Default – установка значения атрибута внешнего ключа в значение по умолчанию, в случае если соответствующий первичный ключ родительской сущности обновляется или удаляется;

  • Set Null – установка значения атрибута внешнего ключа в значение Null, в случае если соответствующий первичный ключ родительской сущности обновляется или удаляется;

  • None – правила ссылочной целостности не заданы. В этом случае действуют правила, установленные по умолчанию в целевой СУБД (для MS SQL Server – Restrict).

Первые два правила (Restrict и Cascade) поддерживаются SQL Server’ом на уровне создания таблиц. Для реализации остальных правил требуется создание триггеров ссылочной целостности.

Построение внутренней модели данных

Для перехода на внутреннюю модель данных в ERwin требуется переключиться на физическую (Physical) модель. Внутренняя модель данных стоится в контексте целевой СУБД. В данном случае требуется проверить, что в качестве целевой СУБД выбран MS SQL Server 2000. Для этого в меню Database необходимо выбрать пункт Choose Database и в окне выбора СУБД задать SQL Server версии 2000.

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

Соседние файлы в папке базы данных