355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Сергей Маклаков » BPwin и Erwin. CASE-средства для разработки информационных систем » Текст книги (страница 11)
BPwin и Erwin. CASE-средства для разработки информационных систем
  • Текст добавлен: 5 октября 2016, 01:11

Текст книги "BPwin и Erwin. CASE-средства для разработки информационных систем"


Автор книги: Сергей Маклаков


Жанр:

   

Базы данных


сообщить о нарушении

Текущая страница: 11 (всего у книги 14 страниц)

2.3.10. Прямое и обратное проектирование

Процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (Forward Engineering). При генерации физической схемы ERwin включает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД. Процесс генерации логической модели из физической БД называется обратным проектированием (Reverse Engineering). ERwin позволяет создать модель данных путем обратного проектирования имеющейся БД. После того как модель создана, можно переключиться на другой сервер (модель будет конвертирована) и произвести прямое проектирование структуры БД для другой СУБД. Кроме режима прямого и обратного проектирования ERwin поддерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания ИС.

Для генерации системного каталога БД следует выбрать пункт меню Tasks/Forward Engineer/Schema Generation или нажать кнопку на панели инструментов. Появляется диалог Schema Generation (рис. 2.101).

Рис. 2.101. Диалог Schema Generation

Диалог Schema Generation имеет три закладки:

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

В закладке Summary отображаются все опции, заданные в закладке Options. Список опций в Summary можно редактировать так же, как и в Options.

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

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

Рис. 2.102. Диалог Schema Generation Preview

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

Кнопка Report сохраняет тот же скрипт в ERS или SQL текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера.

Рис. 2.103. Диалог связи с БД

Кнопка Generate запускает процесс генерации схемы. Возникает диалог связи с БД (рис. 2.103), устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema (рис. 2.104).

Рис. 2.104. Диалог Generate Database Schema

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

Для выполнения обратного проектирования следует выбрать пункт меню Tasks/Reverse Engineer.

При этом возникает диалог ERwin Template Selection (рис. 2.105), в котором нужно выбрать шаблон диаграммы, затем диалог выбора СУБД и, наконец, диалог задания опций обратного проектирования Reverse Engineer – Set Options (рис. 2.106).

Рис. 2.105. Диалог ERwin Template Selection

В диалоге Reverse Engineer – Set Options можно задать следующие опции:

Группа Reverse Engineer From позволяет задать источник обратного проектирования – БД или SQL(DDL)-CKpHnT. При помощи кнопки Browse можно выбрать текстовый файл, содержащий SQL-скрипт.

Группа Items to Reverse Engineer позволяет задать объекты БД, на основе которых будет создана модель. При помощи списка выбора Option Set, a также кнопок New, Update и Delete можно создавать и редактировать именованные конфигурации объектов БД, которые могут быть использованы многократно при других сеансах обратного проектирования.

Группа Reverse Engineer (доступна только при обратном проектировании из БД) позволяет включить в модель системные объекты (окно выбора System Objects) и установить фильтр на извлекаемые таблицы по их владельцу.

Установка опции Primary Keys в группе Infer означает, что ERwin будет генерировать первичные ключи на основе анализа индексов. Если включена опция Relations, ERwin будет устанавливать связи на основе имен колонок первичного ключа или индексов. Эти опции имеют смысл, только если связи не прописаны явно.

Группа Case Conversion позволяет задать опции конвертации регистра при создании логических и физических имен модели.

Рис. 2.106. Диалог Reverse Engineer – Set Options

Опция Import View Base Tables указывает, что ERwin будет устанавливать связи между представлениями и таблицами. Если опция выключена или SQL-команда создания представления содержит сложные конструкции (например, агрегативные функции), колонки представления импортируются как определяемые пользователем.

После установки необходимых опций можно щелкнуть по кнопке Next, после чего появляется диалог связи с БД (см. рис. 2.103), устанавливается сеанс связи с сервером и начинается процесс обратного проектирования, во время которого показывается статус процесса в диалоге Reverse Engineer-Status. В результате процесса создается новая модель данных.

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

Для синхронизации системного каталога БД и текущей модели следует выбрать пункт меню Tasks/Complete Compare или нажать кнопку на панели инструментов. Возникает диалог Complete Compare – Set Options, который во многом похож на описанный выше диалог Reverse Engineer – Set Options. Разница заключается в том, что в отличие от обратного проектирования сравнивать текущую модель можно не только с БД или SQL-скриптом, но и с другой моделью ERwin, хранящейся в файле или репози-тории ModelMart.

После нажатия на кнопку Next диалога Complete Compare – Set Options возникает диалог связи с БД (см. рис. 2.103), устанавливается сеанс связи с сервером и в диалоге Complete Compare – Resolve Differences показывается текущее состояние модели (слева) и системного каталога СУБД (справа) (рис. 2.107).

Рис. 2.107. Диалог Complete Compare – Resolve Differences

В правой части диалога находятся кнопки, позволяющие задать режим синхронизации для каждого объекта модели или БД:

– экспорт объекта из модели в БД;

– импорт объекта из БД в модель;

– игнорирование различия между моделью и БД (по умолчанию принимается для всех объектов);

– удаление объекта из БД.

Кнопки Match и UnMatch позволяют связать объекты модели и БД, имеющие разные имена. Например, в модели ERwin таблице CUSTOMER соответствует таблица CUST в БД. По умолчанию ERwin определяет, что это разные объекты, хотя по смыслу это одно и то же. Для того чтобы ERwin правильно провел синхронизацию, необходимо вручную связать эти две таблицы. Для связывания таблиц необходимо щелкнуть по кнопке Match, затем по таблице модели (левый список) и, наконец, по таблице БД (правый список). Кнопка UnMatch служит для отмены связывания таблиц.

Линейка индикаторов между списками показывает установленную опцию синхронизации объектов.

Кнопка Report, позволяет сгенерировать отчет о синхронизации, кнопка Preview вызывает диалог Preview SQL Commands, в котором показывается SQL-скрипт, выполняемый для проведения синхронизации.

После щелчка по кнопке Next возникает диалог Complete Compare -Import Changes, в котором можно задать дополнительные опции синхронизации, касающиеся модификации модели (рис. 2.108).

Группа Case Conversion of Logical Names позволяет задать регистр имен создаваемых в модели объектов.

Группа If Table to Import Exists in Model позволяет задать опции генерации схемы в случае, если таблица уже существует в модели. Может быть использована существующая таблица (Use Existing Table) либо создана дублирующая (Create Duplicate Table).

Опции Primary Keys, Relations и Import Base Tables имеют то же назначение, что и соответствующие опции диалога Reverse Engineer – Set Options (см. выше).

Рис. 2.108. Диалог Complete Compare – Import Changes

Кнопка Start Import служит для запуска процесса импорта объектов в модель из БД, SQL(DDL)-скрипт, диаграммы из репозитория ModelMart или файла ER1/ERX. В процессе импорта ERwin показывает сообщения об успешном или неуспешном завершении выполнения импорта для каждого объекта.


2.4. Генерация кода клиентской части с помощью ERwin
2.4.1. Расширенные атрибуты

ERwin поддерживает не только проектирование сервера БД, но и автоматическую генерацию клиентского приложения в средах разработки MS Visual Basic и Power Builder. Технология генерации состоит в том, что на этапе разработки физической модели данных каждой колонке присваиваются расширенные атрибуты, содержащие информацию о свойствах объектов клиентского приложения (в том числе визуальных), которые будут отображать информацию, хранящуюся в соответствующей колонке. Эта информация записывается в файле модели. На основе информации, содержащейся в расширенных атрибутах, генерируются экранные формы. Полученный код может быть немедленно откомпилирован и выполнен без дополнительного ручного кодирования.

Каждой колонке в модели ERwin можно задать предварительно описанные и именованные свойства:

правила валидации (проверки значений);

начальные значения, устанавливаемые по умолчанию;

стиль визуального объекта (например, поле ввода, радиокнопка и т.д.);

формат изображения.

Для описания каждого свойства ERwin содержит соответствующие редакторы. Редакторы Validation Rule Editor для задания правил валидации и редактор Default/Initial Editor для задания начальных значений были описаны в 2.3.4.

Для описания стиля визуального объекта служит диалог Edit Style Editor. Этот диалог различается в зависимости от выбранного клиента. На рис. 2.109 показан вид диалога в случае Power Builder. В левой части диалога располагается группа радиокнопок, соответствующая визуальным объектам, например полю ввода (Edit), окну выбора (Check Box) и др. При щелчке по одной из кнопок в центральной части диалога появляются поля для задания свойств соответствующего объекта.

Радиокнопка Edit mask позволяет задать маску ввода данных, например (@@@)-@@@-@@@@ для номера телефона.

Кнопки New, Rename и Delete служат для создания, переименования и удаления стиля. В верхней части диалога отображается список предварительно описанных стилей.

Для редактирования форматов служит диалог Display Format Editor (рис. 2.110).

В окне Format Name отображается список всех предварительно созданных форматов. Поле PowerBuilder/Visual Basic Display Format служит для описания маски ввода данных. С помощью комбинированного списка Type можно выбрать тип данных (string, number, date, time или datetime).

Кнопки New, Rename и Delete служат для создания, переименования и удаления формата.

С помощью кнопки РВ Sync (только для PowerBuilder) можно синхронизировать форматы модели ERwin со словарем PowerBuilder.

Рис. 2.110. Диалог Display Format Editor


2.4.2. Генерация кода в Visual Basic

ERwin поддерживает генерацию кода для MS Visual Basic версий 4.0 и 5.0. В качестве источника информации при генерации форм служит модель ERwin. Использование ERwin позволяет одновременно описывать как клиентскую часть (объекты, отображающие данные на экране), так и сервер БД (процедуры и триггеры), тем самым оптимально распределяя функциональность ИС между клиентской и серверной частью. Компонент ERwin Form Wizard автоматически проектирует формы с дочерними объектами -кнопками, списками, полями, радиокнопками и т. д., используя расширенные атрибуты.

Совместное использование ERwin и Visual Basic может значительно сократить жизненный цикл разработки ИС, поскольку для каждой задачи используется наиболее эффективный инструмент. Visual Basic может быть использован для проектирования визуального интерфейса, а ERwin – для разработки логической и физической модели данных с последующей генерацией системного каталога сервера. Если БД уже существует, то с помощью ERwin можно провести обратное проектирование (reverse engineering),

полученную модель дополнить расширенными атрибутами и сгенерировать клиентское приложение.

Для генерации клиентской части в диалоге Target Client (меню Client/ Target Client) необходимо выбрать среду программирования – Visual Basic либо Power Builder (рис. 2.111).

Рис. 2.111. Диалог Target Client

Если в качестве клиента выбран Visual Basic, в диалоге Column Editor появляются две закладки для задания расширенных атрибутов (рис. 2.112).

Рис. 2.112. Закладки Visual Basic диалога Column Editor

В первой закладке (на рисунке слева) комбинированные списки Style, Valid и Initial служат соответственно для задания колонке предварительно описанных и именованных стиля, правила валидации и начального значения.

Help ID – поле для контекстного номера объекта, который используется при создании контекстной помощи (HelpContextID).

Опция Read Only должна быть включена, если объект на экранной форме не должен редактироваться.

Окно выбора Bitmap служит для указания, что в соответствующей колонке хранится изображение.

Включенная опция Required указывает, что пользователь обязательно должен внести данные в соответствующее поле. Если данные не будут введены, Visual Basic выдаст предупреждение.

Empty Is Null – опция указывает, что пустое поле будет восприниматься как NULL-значение.

Visible – если опция выключена, Visual Basic создает невидимый объект. Tag – текст комментария к объекту. При генерации кода не используется.

Prompt – текст, который появляется в status bar, если на объекте установлен фокус.

Во второй закладке (на рисунке справа) можно задать шрифт, цвет, метку (Label) и заголовок (Header) объекта. Поле Accel служит для описания комбинации клавиш быстрой установки фокуса на объект.

После задания свойств для каждой колонки следует сохранить модель.

В среде Visual Basic 5.0 необходимо создать новый проект Visual Basic и подключить к нему два внешних файла CONST40.BAS и ERWIN40.BAS, расположенных в каталоге ERwin. Затем следует выбрать в меню Add-Ins/ERwin/Form Wizard. В появляющихся затем диалогах (для перехода к последующему служит кнопка Next, к предыдущему – Back) нужно последовательно указать имя файла модели, родительской и дочерних таблиц (возможно построение формы по родительской и нескольким дочерним таблицам) и колонок, которые будут отображены в сгенерированной форме (рис. 2.113), Затем нужно установить стиль отображения таблиц – свободный (freeform), в виде полей или табличный (grid).

После нажатия на кнопку ОК будет сгенерировано приложение, которое может быть откомпилировано и выполнено без дополнительного редактирования.

Сгенерированная экранная форма (рис. 2.114) помимо элементов отображения информации БД будет содержать управляющие кнопки New, Update, Delete, Close и навигатор для перемещения по строкам. Если полученную форму сделать главной формой проекта, то при запуске приложения возникнет диалог связи с БД. При успешном соединении (через ODBC) будет загружена информация из БД.


2.4.3. Генерация кода в Power Builder

В отличие от Visual Basic код приложения для PowerBuilder генерируется непосредственно из среды ERwin. При выборе клиента (в диалоге Target Client, меню Client/Target Client) необходимо указать среду разработки -PowerBuilder, ее версию (4.0, 5.0 или 6.0) и библиотеку Power Builder (поле PBL file), в которой будет размещен сгенерированный код (рис. 2.115). Для работы с PowerBuilder ERwin создает в БД служебные таблицы (словарь PowerBuilder, PB Catalog), в которых хранится информация о расширенных атрибутах. В поле PB Catalog Owner необходимо указать имя пользователя БД – владельца таблиц.

Рис. 2.115. Диалог Target Client – выбор Power Builder

В диалоге Column Editor появляются две закладки Power Builder для задания расширенных атрибутов (рис. 2.116).

Рис. 2.116. Закладки Power Builder диалога Column Editor

В первой закладке (на рисунке слева) комбинированные списки Style, FK Style Valid и Initial служат соответственно для задания колонке предварительно описанных и именованных стиля (FK Style – для задания стиля колонке внешнего ключа), правила валидации и начального значения. Комбинированный список Justify позволяет задать выравнивание текста объекта, Case – возможность отображения текста в разных регистрах (допустимые значения – Any, UPPER и lower). В полях Height и Width можно задать высоту и ширину объекта.

Во второй закладке (на рисунке справа) можно задать шрифт, цвет, метку (Label) и заголовок (Header) объекта. Окно выбора Bitmap служит для указания, что в соответствующей колонке хранится изображение.

В диалоге Table Editor появляется закладка Power Builder (рис. 2.117), где можно задать шрифт для текстовых объектов будущей экранной формы.

Рис. 2.117. Закладка Power Builder диалога Table Editor

Поле PBL File применяется для описания пути к библиотеке PowerBuilder, в которой будет создан объект DataWindow. Кнопка облегчает поиск необходимого PBL-файла. В поле Comment можно внести необходимые примечания, относящиеся к таблице.

Кнопка РВ Sync (на рис. 2.117 не показана) служит для синхронизации модели ERwin и словаря PowerBuilder. Настройка опций синхронизации проводится в диалоге ERwin/PowerBuilder Synchronization (меню Client/PB sync Option).

На основе информации расширенных атрибутов ERwin генерирует в библиотеке PowerBuilder объект DataWindow. Поскольку при генерации используются динамические библиотеки PowerBuilder, в AUTUEXEC.BAT должен быть указан путь к каталогу PowerBuilder.

Для генерации DataWindow может быть использовано два способа: генерация нескольких DataWindow и генерация одного DataWindow по одной таблице. В первом случае следует выбрать пункт меню Client/Create DW. В диалоге DataWindow Wizard (рис. 2.118) нужно таблицы, на основе которых будет проводиться генерация, из левого списка перенести в правый. Для каждой таблицы будет сгенерирован отдельный объект DataWindow.

В группе Presentation Style можно задать стиль отображения DataWindow:

FreeForm – свободный, в виде полей;

Grid – табличный, с разделением линиями;

Tabular – табличный, со специальным разделением.

Имя DataWindow будет состоять из префикса, задаваемого в поле DataWindow Name Prefix, и имени таблицы.

Рис. 2.118. Диалог DataWindow Wizard

После щелчка по кнопке Finish запускается процесс генерации кода приложения. После окончания генерации выдается сообщение о результате, например:

Created dw_CUSTOMER

Generation Completed -1 DataWindows Created

Во втором случае нужно щелкнуть по кнопке Create DW закладки Power Builder диалога Table Editor (см. рис. 2.117).

В этом случае будет создаваться DataWindow, соответствующий выбранной таблице. В диалоге DataWindow Wizard можно задать не только стиль, но и набор колонок, информация из которых будет отображаться в DataWindow (рис. 2.119).

Рис. 2.119. Вид диалога DataWindow Wizard при генерации DataWindow no одной таблице


2.5. Создание отчетов в ERwin
2.5.1. Интерфейс Report Browser

Для генерации отчетов в ERwin имеется эффективный и простой в использовании инструмент – Report Browser. Он позволяет выполнять предопределенные отчеты (объединенные по типам), сохранять результаты их выполнения, создавать собственные отчеты, печатать и экспортировать их в распространенные форматы. Каждый отчет может быть настроен индивидуально, данные в нем могут быть отсортированы и отфильтрованы.

Диалог Report Browser вызывается кнопкой в панели инструментов ERwin. Его внешний вид показан на рис. 2.120.

Рис. 2.120. Диалог Report Browser

Диалог Report Browser имеет собственное меню и панель инструментов. Назначение кнопок панели инструментов показано в табл. 2.7.



Таблица 2.7. Кнопки панети инструментов Report browser


Кнопки Назначение кнопки
Создание нового отчета или папки
Печать отчета
Просмотр результата выполнения отчета
Выполнение отчета
Фиксация изменений (для редактируемого отчета)
Поиск элементов отчета: задание условий поиска, поиск следующей строки и поиск другого отчета, соответствующего строке
Включение и выключение дерева отчетов
Показать список выполненных отчетов в хронологическом порядке
Перейти к предыдущему отчету (при создании нового отчета на основе строки существующего)
Выбор колонок и сортировка выполненного отчета
Ассоциирование строки отчета с иконкой
Сохранение выполненного отчета в виде представления

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

– папка;

– отчет;

– редактируемый отчет;

– результирующий набор данных;

– представление.

По умолчанию Report Browser содержит предварительно определенные отчеты, позволяющие наглядно представить информацию об основных объектах модели данных – как логической, так и физической. Для выполнения отчета достаточно дважды щелкнуть по нему в дереве отчетов или щелкнуть по соответствующей кнопке на панели инструментов. Результат выполнения отчета будет отображен в правом окне диалога Report Browser.

Иконка результирующего набора будет также добавлена в дерево отчетов.

В левом нижнем окне Report Browser отображается комментарий к отчету (вносится в диалоге ERwin Report Editor, см. ниже).

В нижней части диалога содержится дополнительная панель инструментов для управления деревом отчетов (табл. 2.8).

Таблица 2.8. Кнопки нижней панели инструментов Report Browser


Кнопка Назначение кнопки
Редактировать выделенный отчет
Удалить отчет
Показать только верхний уровень дерева
Сделать выбранную папку корнем дерева (показать только выбранную ветку дерева)
Сделать корнем дерева родительскую папку (по отношению к выбранной)


    Ваша оценка произведения:

Популярные книги за неделю