Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодПособие_ERWin.doc
Скачиваний:
21
Добавлен:
01.08.2019
Размер:
185.86 Кб
Скачать

Среда erWin

При запуске ERWin предлагается выбрать один из вариантов:

  • Создать новую модель (Create a new model)

  • Открыть одну из существующих моделей (Open an existing file)

При выборе первого варианта появляется окно Create Model TypeSelect Template для указания типа создаваемой модели

  • Logical (логической),

  • Physical (физической)

  • Logical/Physical (логической и физической)

При выборе Physical или Logical/Physical моделей появляется окно для выбора СУБД (Target Database), в котором выбираем из списка СУБД и версию СУБД.

Окно проводника моделей (Model Explorer)

Domains (Домены)

Model sources (Источники модели)

Validation Rules (Правило валидации – задаёт список допустимых значений для конкретной колонки и/или правила проверки допустимых значений)

Default Values (Значения по умолчанию)

Transforms (устанавливаемые администратором правила добавления, удаления и изменения имен доменов, присоединяемых к входящим и выходящим сообщениям)

Entities (Сущности)

Subject Areas (Предметные области подмножества моделей.)

Панель инструментов Стандартная (Standard)

- Создание, открытие, сохранение и печать модели

- Вызов диалогового окна Data Browser для генерации отчетов

- Определение шаблона для построения отчета

- Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов, уровень определений.

- Изменение масштаба просмотра модели.

- Переключение между областями модели.

- Доступны только на уровне физической модели - Генерация схемы БД, т.е. прямое проектирование (Forward Engineering), Обратное проектирование (Reverse Engineering), выравнивание схемы с моделью, выбор сервера.

Панель инструментов ToolBox

Для логической модели:

- Режим указателя мыши (можно установить фокус на каком-либо объекте модели)

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

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

- Кнопка создания идентифицирующей связи принадлежности

- Кнопка создания связи “многие-ко-многим”

- Кнопка создания неидентифицирующей связи принадлежности

Для физической модели вместо кнопок категориальной связи и создания связи “многие-ко-многим” появляются следующие кнопки:

- Кнопка создания представлений

- Кнопка связей представлений (View relationship)

Панель рисования (Drawing)

- Кнопки для вычерчивания прямоугольника, прямоугольника с округлёнными углами, эллипса, линии, полилинии (соединения отрезков прямой и дуг), многоугольника, внесения текста.

Панель Font & Color

- Кнопки для изменения шрифта, изменения начертания шрифта, изменения цвета символов и цвета фона

Для установки русского языка:

  1. Щелкнуть правой кнопкой мыши в окне редактора

  2. Выбрать пункт контекстного меню Default Fonts & Color (Шрифт и цвет по умолчанию)

  3. В окне Default Fonts & Color во всех вкладках установить:

    1. шрифт Arial Cur

    2. переключатель All object

    3. нажать кнопки Применить и ОК

Для установки русского языка в прямоугольнике сущности:

Выделить все атрибуты (удерживая клавишу Shift, щелкнуть по каждому атрибуту) и установить шрифт Arial Cur на панели Font & Color

Для внесения сущности в модель:

  1. Щелкнуть по кнопке сущности на панели инструментов

  2. Щелкнуть по тому месту на диаграмме, где нужно расположить сущность

  3. Щелкнуть правой кнопкой мыши по сущности и выбрать в контекстном меню пункт Entity Properties (Свойства сущности)

  4. В окне Entities (Сущности) определить

    1. Name (имя),

    2. Definition (описание, определение сущности, позволяющее понять, что это за объект на логическом уровне и на физическом уровне, т.к. их можно экспортировать как часть схемы и использовать в реальной БД)

    3. Note (дополнительные замечания о сущности, например описание какого-либо бизнес-правила или соглашения по организации диаграмм),

    4. Note2 (документирование некоторых возможных запросов к сущности)

    5. Note3 (примеры данных для сущности в произвольной форме)

    6. UDP (свойства, определённые пользователем) – дополнительные комментарии и определения к сущности. Поддерживается для UDP шесть типов данных – Date в формате MM/DD/YY Int (целое число) Real (действительное число) Text (строка) List (список; значения разделяются запятыми, значениям по умолчанию предшествует символ тильда ~) Command (команда – выполняемая строка)

    7. Icon (каждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне иконок. Большая иконка будет отображаться на уровне Icon, малая иконка, будет отображаться на всех уровнях просмотра модели)

    8. History (история сущности).

Для связывания изображения с сущностью:

  1. Щелкнуть по кнопке

  2. В окне Icons щелкнуть по кнопке Import и выбрать файл формата .bmp

Для внесения атрибутов:

  • Щелкнуть дважды по сегменту прямоугольника для внесения атрибутов

  • В окне Attributes нажать кнопку New

  • В окне New Attribute выбрать вид отображения доменов (Alphabetically – по алфавиту, Hierarchically – в виде дерева)

  • Выбрать базовый домен Domain (т.е. базовый тип данных) для атрибута

  • В поле Attribute Name задать имя атрибута сущности на русском языке

  • В поле Column Name задать имя поля таблицы на английском языке (для физической модели)

  • Повторить эти действия для всех атрибутов.

  • Для атрибута – идентификатора сущности – установить флажок Primary Key

  • Нажать кнопку ОК

Для изменения (удаления) атрибутов:

  • Щелкнуть дважды по сегменту прямоугольника для изменения (удаления) атрибутов

  • Выделить нужный атрибут и в окне Attributes нажать кнопку Rename (Delete) для переименования (удаления) атрибута.

В окне Attributes можно

  • установить тип данных для атрибутов сущности (вкладка Datatype)

  • дать описание атрибутов сущности (вкладка Definition)

  • дать дополнительные замечания об атрибутах (вкладка Note)

  • произвести сброс для выбранных элементов (кнопка Reset)

Для создания собственного домена на основе базового домена (второй способ создания атрибута - на основе собственного домена)

  • Model\Domain Dictionary. Появится окно Domain Dictionary

  • Нажать кнопку New. Появится окно New Domain

  • В поле Logical Name ввести логическое имя домена

  • В поле Physical Name ввести физическое имя домена

  • В группе элементов Domain Parent выбрать домен-родитель, на основе которого будет создан новый домен. Новый домен наследует все свойства родительского домена, которые в дальнейшем можно переопределить.

  • Щелкнуть по кнопке OK

В окне Domain Dictionary:

Alphabetically

сортировка в алфавитном порядке

Hierarchically

сортировка в виде дерева

Domain Parent

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

Domain Icon

пиктограмма домена

required

обязательный (атрибут не может содержать значение Null)

Name Inherited by Attribute

имя, наследуемое атрибутом

Name Inherited by Column

имя, наследуемое полем

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

  • Щелкнуть по кнопке создания связи (следует заранее определить какая именно должна быть связь)

  • Щелкнуть по родительской сущности

  • Щелкнуть по дочерней сущности

Если устанавливаем идентифицирующую связь принадлежности, то в дочерней сущности автоматически образуются внешние ключи (foreign key). Атрибуты внешнего ключа обозначаются символами (FK) после своего имени. Прямоугольник для дочерней сущности автоматически становится прямоугольником с округлёнными углами.

Для отображения имени связи (Verb Phrase – характеризует отношение между родительской и дочерней сущностями):

  1. Щелкнули правой кнопке мыши по любому месту диаграммы, не занятому объектами модели;

  2. Выбрали пункт Relations Display;

  3. Выбрали пункт Verb Phrase

Для отображения кардинальности (мощности) связи (Cardinality): (по умолчанию символ, обозначающий мощность связи, не показывается на диаграмме)

  1. Щелкнули правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели;

  2. Выбрали пункт Relations Display;

  3. Выбрали пункт Cardinality

Для изменения формы линии связи:

  1. Захватить мышью нужную линию связи и перенести её на новое место

Для редактирования свойств связи:

  1. Щелкнули правой кнопкой мыши по связи

  2. Выбрали пункт меню Relations Properties

Для изменения формы линии связи:

    1. Захватить мышью нужную линию связи и перенести её на новое место

В окне New Attribute:

Blob ( Binary Large Object)

большой двоичный объект, «блоб» (тип данных )

DateTime

дата/время (тип данных )

Number

числовой тип (тип данных )

String

строка (тип данных )

Reset

восстановление

general

общий, обычный, основной, всеобщий, полный, генеральный

require

требовать

valid

действительный, имеющий силу

note

записка, запись, замечать, отмечать, записывать

rule

правило; норматив, масштаб

fit

приспосабливать, соответствовать, подходить; согласовываться, подходящий, соответствующий

role

роль (объекта в отношении), ролевое имя ( символическое имя, определяющее класс пользователей, которым разрешен доступ к некоторому набору компонентов )

action

действие; воздействие, операция, поведение, линия поведения

pick

выбирать

В окне Relationship:

Relationship Cardinality

кардинальность (мощность) связи

UDP (User defined Properties)

свойства, определённые пользователем

Relationship

связь, зависимость

Relationship Type

тип связи

Cardinality

кардинальность (мощность)

Parent-to-Child

характеризует отношение от родительской к дочерней сущности

Child-to-Parent

характеризует отношение от дочерней сущности к родительской

Verb Phrase

имя связи

General

общий

Definition

описание, определение

Rolename

для задания имени роли и правил ссылочной целостности. Имя роли (функциональное имя) это синоним атрибута внешнего ключа, который показывает, какую роль играет атрибут в дочерней сущности

Exactly

точно

Nulls Allowed

необязательная связь

No Nulls

обязательная связь

Identifying

идентифицирующая

Non-Identifying

не идентифицирующая

Вкладка RI Actions (referential integrity) – для указания правил ссылочной целостности (значения ограничения ForeignKeyConstraint)

ForeignKey - внешний ключ Constraint - ограничение

RESTRICT (запрет на действия)

Child Insert - нельзя добавить экземпляр в дочернюю сущность со ссылкой на несуществующий экземпляр родительской сущности.

Child Update - нельзя изменить экземпляр дочерней сущности таким образом, чтобы он ссылался на несуществующий экземпляр родительской сущности.

Parent Delete – запрещено удаление экземпляра родительской сущности, если на неё ссылаются экземпляры дочерней сущности.

Parent Update – нельзя изменить первичный ключ экземпляра родительской сущности, если на него ссылаются экземпляры дочерней сущности.

CASCADE (каскадные изменения)

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

NONE (никаких действий СУБД не предпринимает)

Parent Insert – разрешено добавление нового экземпляра в родительскую сущность.

Child Delete – при удалении экземпляра дочерней сущности никаких действий предприниматься не будет.

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

SET NULL (установка значения Null)

При удалении экземпляра родительской сущности атрибут внешнего ключа соответствующих экземпляров дочерней сущности примет значение NULL (только для неидентифицирующих связей принадлежности)

SET DEFAULT (установка значения по умолчанию)

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

Процедуры обеспечения ссылочной целостности:

U:C означает Update:Cascade (Обновление: каскадное)

D:C означает Delete:Cascade (Удаление: каскадное)

U:R означает Update:Restrict (Обновление: ограничить )

D:R означает Delete:Restrict (Удаление: ограничить)

I:SN означает Insert: Set to Null (Вставка: установка Null)

I:SD означает Insert: Set Default (Вставка: установка по умолчанию)

I:R означает Insert: Restrict (Вставка: ограничить)

SN означает Set to Null (При удалении экземпляра родительской сущности внешний ключ соответствующих экземпляров дочерней сущности примет значение NULL)

SD означает Set Default (При удалении экземпляра родительской сущности атрибуту внешнего ключа присваивается значение по умолчанию).

Для создания физической модели по существующей логической модели:

  • Tools / Derive New Model (получить новую модель)

  • выбрать переключатель, указывающий конкретный тип модели (в данном случае Physical)

  • в группе Target Database (текущая БД) выбрать

    • в списке Database Access

    • в списке Version 2000

  • нажать кнопку Далее

  • в окне Derive Models – Select Source Model Objects выбрать объекты для включения в физическую модель

  • установить флажки для автоматического преобразования связи “многие-ко-многим” к связи “один-ко-многим”, если связь такого типа присутствовала в логической модели

  • нажать кнопку Далее

  • нажать кнопку Готово

Для создания подмножества модели (Subject Area)

  • Model / Subject Area

  • В окне Subject Area нажимаем кнопку New

  • В окне New Subject Area в поле Name вводим имя нового подмножества модели

  • OK

  • В окне Subject Area в поле Author вводим имя автора – создателя подмножества модели

  • Раскрываем вкладку Members (члены). Выбираем в левой колонке требуемые сущности и переносим их в правую колонку, используя кнопки , . Если нужно переместить в подмножество сущность вместе со всеми связанными с ней сущностями, то следует использовать кнопку

  • OK

Для переключения между областями

  • В окне проводника моделей (Model Explorer) щелкнуть правой кнопкой по названию области;

  • Выбрать Go To;

Для генерации системного каталога БД:

  • Создать пустую БД Access в своём рабочем каталоге (c:\Личное\Ощепкова\......)

В среде ERWin выполнить следующее:

  • Нажать кнопку или выбрать пункт меню Tools/Forward Engineer/Schema Generation.

  • Появится окно Access Schema Generation, имеющее три вкладки

    • Options (служит для задания опций генерации объектов БД – триггеров, таблиц, представлений, колонок, индексов и т.д. Нужно выбрать объект в левом списке и включить необходимые опции в правом списке).

    • Summary (предназначена для отображения всех опций, заданных во вкладке Options. Список опций на этой вкладке тоже можно редактировать).

    • Comment (Позволяет внести комментарий для каждого набора опций).

Каждый набор опций может быть именован (окно Option Set, кнопки New, Rename, Delete) и использован многократно.

Кнопка Preview вызывает окно Access Schema Generation Preview, в котором отображается SQL-скрипт, создаваемый ERWin для генерации системного каталога СУБД. Нажатие на кнопку Generate запустит процесс генерации схемы.

Кнопка Print предназначена для вывода на печать создаваемого скрипта.

Кнопка Report сохраняет скрипт в текстовом формате.

Кнопка Generate запускает процесс генерации схемы.

  • Появится окно Access Connection (Connection – соединение). Указываем

    • User Name: Admin

    • Password: SA

    • Database: имя пустой БД

  • Нажимаем кнопку Connect

Если в окне Generate Database Schema включена опция Stop If Failure, то при первой же ошибке выполнение скрипта прекращается. Выполнение можно продолжить, нажав кнопку Continue. Кнопка Abort прерывает выполнение. Если опция Stop If Failure выключена, то скрипт будет выполняться, несмотря на встречающиеся ошибки.

Литература

  1. С.В. Маклаков “BPWin и ERWin. CASE-средства разработки информационных систем.”, 1999, стр.70-206

  2. Д.Э. Федотова, Ю.Д. Семёнов, К.Н. Чижик ”CASE-технологии”, 2005, стр.63-91

  3. Д. Крёнке “Теория и практика построения баз данных”, 2005, стр. 80-94

  4. А. Шкрыль “Разработка клиент-серверных приложений в DELPHI”, 2006, стр.363-437

Контрольные вопросы (стр.14)

Методическое пособие для работы с ERWin