
1.Создание доменов
ERwin позволяет указать этот тип данных на диаграмме, однако удобнее определять тип данных атрибута не через простой тип данных, а через его подмножество-домен.
Для создания доменов выберите «Model\Domain Dictionary…». Появляется диалоговое окно (2), которое позволяет создавать и редактировать домены в двух режимах – логическом и физическом. Переключение режима производится при помощи списка, снабженного меткой «Edit Mode».
Внизу находится список доменов. По умолчанию он содержит 5 базовых доменов, на основе которых разработчик может определить собственные домены:
S
tring
Number
DateTime
Blob (двоичный).
В нижней части слева находятся кнопки:
New – создание нового домена
Rename – переименование домена
Delete – удаление домена
Reset – сброс свойств домена.
Рис. 12. Диалоговое окно редактора словаря доменов
В правой части расположены страницы с закладками, позволяющими редактировать свойства доменов. В логическом режиме имеется 4 страницы - General, Definition, Note, UDP. Последние 3 страницы не отличаются от аналогичных страниц, описанных для других объектов диаграммы.
Страница General позволяет редактировать ненаследуемые и наследуемые свойства. Ненаследуемые свойства относятся только к домену и не передаются атрибутам, определенным на базе этого домена. К ним относятся родительский домен (Domain parent) и иконка домена (Domain Icon).
Наследуемые свойства передаются всем атрибутам, созданным на базе домена. К этим свойствам относятся наследуемое имя и иконка. В качестве наследуемого имени по умолчанию устанавливается %AttDomain – макроопределение, которое заменяется на имя домена. Это означает, что при создании атрибута на базе данного домена его логическим именем будет имя домена. Кроме того, при помощи флажков вы можете задать:
Required – атрибут, созданный на базе домена, является обязательным. В физической модели это соответствует заданию для поля опции NOT NULL.
Logical – домен должен быть виден только в логической модели.
Создайте домен для атрибута «Vid_naimenovaniy». Для этого нажмите на кнопку New и в появившемся диалоговом окне введите:
в поле «Logical Name» – «Vid_naimenovaniy »;
в поле «Physical Name» – «VidNaim»;
в списке базовых доменов выберите – String.
Рис. 13. Создание нового домена
Физическое имя станет именем типа данных в таблице БД. По умолчанию ERwin генерирует физическое имя из логического, заменяя пробелы символом подчеркивания «_».
В нашем случае он создал имя «Vid_naimenovaniy».
Измените логический режим редактирования на физический. Теперь в списке слева фигурируют физические имена доменов, а состав и содержание страниц свойств изменились:
Рис.14 Изменения в списке доменов
На странице General:
Поле со списком Domain Parent – то же, что и в логическом режиме.
Флажок DOMAIN. Если этот флажок установлен, то при генерации физической схемы БД в запросах CREATE TABLE будут использованы домены, причем в разделе меню «Task\Forward Engineer\Schema Generation…» имеется 2 флажка, позволяющие выбрать режим генерации:
CREATE DOMAIN – для каждого пользовательского типа данных в схеме будет сгенерирован домен.
USE DOMAIN – находится в разделе «Column». Для всех типов данных в генерируемых в запросах CREATE TABLE будут использованы домены. Если этот флажок не установлен, то программа вместо доменов проставит базовые типы данных.
Поле «Name Inherited By Column». Здесь вводится макропрограммирование, генерирующее имя колонки, которая создается на базе этого домена. ERwin обладает развитой системой макроопределений, с помощью которых можно существенно изменить и настроить поведение программы в различных ситуациях. Например, в данном случае, по умолчанию используется макро %ColDomain, возвращающее физическое имя домена, т.е. программа будет генерировать имя колонки, совпадающее с именем домена.
Следующая страница зависит от заданного типа сервера, для которого будет генерироваться БД. В нашем случае выбран сервер Access .
Рис. 15. Страница «Access»
Для выбранного в списке домена здесь выбираются:
Тип данных – физический тип данных, определенный для выбранного сервера. В этом же поле проставляется размерность.
Null Option позволяет задать домены, у которых должно быть предопределено свойство NOT NULL или NULL.
Поля со списком задают правила валидации (проверки допустимого значения).
Страница Comment. Внесение комментария к атрибуту.
UDP. Имеет тот же смысл.
Точно так же создайте остальные домены, имена и базовые типы которых приведены в таблице.
Таблица 4. – Домены БД
Логическое имя домена |
Имя домена |
Тип домена |
Vid_naimenovaniy |
VidNaim |
String |
Opesanie |
Opis |
String |
Kod_naimenovaniy |
KodNaim |
Number |
Naimenovanie |
Naim |
String |
Cena |
Cena |
Number |
Gorantiy |
Gorant |
Number |
Kod_zakaza |
KodZak |
Number |
Naimenovanie_klienta |
NaimKl |
String |
Data_zakaza |
DataZak |
Date |