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

2. ERWin

.pdf
Скачиваний:
86
Добавлен:
20.03.2016
Размер:
7.04 Mб
Скачать

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

Option Set и кнопки Open, Save, Save As и Delete диалога Forward Engineer

Schema Generation.

Кнопка Preview вызывает диалог Schema Generation Preview (рис. 77),

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

Кнопка Print диалога Forward Engineer Schema Generation предназна-

чена для вывода на печать SQL-скрипта, создаваемого ERwin DM. Кнопка Report сохраняет тот же скрипт в текстовом файле с расширением ERS, SQL или DDL. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера. Кнопка Generate запускает процесс генерации схемы. Возникает диалог подключения к базе данных SQL Server Connection (рис. 78), в котором устанавливают параметры подключения. Нажимая на кнопку Connect, устанавливают сеанс связи с баз данных и инициируют выполнение SQL-скрипта.

Рис. 78. Диалог SQL Server Connection.

81

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

На рис. 80 показан порядок генерации схемы базы данных.

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

Рис. 80. Упрощенный порядок генерации схемы базы данных.

82

Обратная генерация

Процесс генерации модели из схемы базы данных называется обрат-

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

Для выполнения обратного проектирования следует выбрать пункт

меню Tools/Reverse Engineer или нажать кнопку на панели инструментов Database Toolbar. Появляется первый диалог для настройки обратного проектирования Reverse Engineer - Template Selection, в котором нужно выбрать тип создаваемой модели: физическая или смешанная, шаблон диаграммы, а также тип и версию СУБД (рис. 81).

Рис. 81. Диалог Reverse Engineer - Template Selection.

После нажатия кнопки Next появляется второй диалог настройки обратного проектирования Reverse Engineer - Set Options (рис. 82), в котором можно задать следующие опции.

83

Рис. 82. Диалог Reverse Engineer - Set Options.

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

Группа Items to Reverse Engineer позволяет задать объекты базы данных, на основе которых будет создана модель. При помощи списка выбора Option Set и кнопок Open, Save, Save As и Delete загружают, создают

иредактируют именованные конфигурации объектов базы данных. Именованные конфигурации могут быть использованы многократно при других сеансах обратного проектирования.

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

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

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

84

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

Сравнение и синхронизация с Complete Compare

Внастоящее время организации, использующие базу данных, стремятся иметь одновременно и модель этой базы данных на основе одной или нескольких распространенных графических нотаций, например: IDEF1, IDEF1Х, IE, ERD, DFD, DM и т.п. Модель, в первую очередь модель логического уровня, в которой рекомендуется использовать терминологию предметной области, дает компактное наглядное представление о данных, их свойствах и отношениях. Благодаря этому модель логического уровня может быть понятна разным группам пользователей: администраторам баз данных, программистам, конечным пользователям информационных систем и т.д., и выступать в качестве средства общения разных специалистов организации, вынужденных работать над одним проектом с использованием базы данных.

Существует два основных типа проекта, в ходе которых в организации появляется модель данных: проекты, связанные с разработкой баз данных (как правило, в составе проектов по разработке информационных систем) и проекты, связанные с документированием и/или оптимизацией уже действующей базы данных.

Впервом случае в процессе разработки базы данных с помощью CASE-средства создается модель (логический уровень, затем физический уровень), затем на ее основе генерируется каталог базы данных. Во втором случае стремятся использовать CASE-средства для получения модели физического уровня с помощью обратной генерации из действующей базы данных. На основе полученной таким образом физической модели разрабатывается модель логического уровня, использующая графическую нотацию и терминологию предметной области, с целью документирования и/или оптимизации базы данных.

При одновременном наличии в организации базы данных и ее модели

кзадачам сопровождения базы данных добавляется задача регулярного (например, раз в месяц) сравнения и синхронизации базы данных с ее моделью. Одним из CASE-средств, поддерживающем в комплексе возможности как прямого и обратного генерирования, так и сравнения и синхрони-

зации, является ERwin Data Modeler (ERwin DM) компании СА (Computer

Associates, www.ca.com).

Одним из инструментов ERwin DM является инструмент Complete Compare (полное сравнение). Инструмент Complete Compare позволяет автоматизировать трудоемкий процесс сравнения и синхронизации моделей,

85

скриптов и баз данных. Сравнение можно проводить как по всему множеству объектов и всему множеству их свойств, так и по отдельным типам объектов и отдельным свойствам объектов, т.е. фильтровать объекты и свойства фигурантов сравнения. Инструмент Complete Compare позволяет выявить отличие свойств одного и того же объекта фигурантов сравнения, а также найти объекты и свойства, отсутствующие в одном из фигурантов сравнения. По результатам сравнения можно сгенерировать отчет в форматах HTML, DOC (Word), XLS (Excel). Выявленные в результате сравнения отличия можно выборочно переносить в фигуранты сравнения для их обновления, т.е. синхронизировать. Для переноса выбранных отличий в базу данных ERwin DM может автоматически сгенерировать ALTER-скрипт на изменение.

Запустить процесс Complete Compare можно щелкнув по пиктограмме

на панели инструментов Database Toolbar или через меню

Tools/Complete Compare/Compare. Для проведения сеанса сравне-

ния/синхронизации ERwin DM предоставляет Мастер сравнений Complete Compare, который «ведет» по этапам подготовки к сравнению. Подготовительные этапы можно выполнить последовательно или в произвольном порядке, запустив процесс сравнения в любой момент после выбора пары фигурантов сравнения. В случае, когда пользователь запускает сеанс сравнения, пропустив ряд подготовительных этапов, автоматически используются настройки по умолчанию. Имеется возможность сохранения в XML- файле и повторного использования собственных настроек сравнения (Option Set). Кроме этого можно сохранить все данные о сессии сравнения в CCS-файле (Complete Compare Session) и позднее повторно их использовать. Это позволяет экономить время при многократном сравнении тех же моделей (скриптов, баз данных).

Основными этапами работы с инструментом Complete Compare являются:

Выбор пары фигурантов сравнения: моделей, скриптов, баз данных.

Выбор объектов и свойств, по которым будет проводиться сравнение (фильтрация). (Список сравниваемых объектов и свойств зависит от выбранной СУБД.)

Автоматическое обнаружение отличий (сравнение). Определение способов разрешения отличий (синхронизации). Это самый важный этап в процессе Complete Compare.

Сохранение синхронизированных моделей.

Инструмент Complete Compare позволяет сравнивать и синхронизировать следующие пары фигурантов:

модель – модель (рис. 83),

модель – SQL-скрипт (рис. 84),

модель – база данных (рис. 85),

SQL-скрипт – SQL-скрипт (рис. 86),

86

Модель - модель

Рис. 83. Пример сравнения «модель – модель».

CREATE TABLE Таблица_1 (

ИД_1 char(18) NOT NULL,

Имя char(18) NULL)

go

. . .

Скрипт - модель

Рис. 84. Пример сравнения «модель – SQL-скрипт ».

База данных - модель

Рис. 85. Пример сравнения «модель – база данных».

CREATE TABLE Таблица_1 (

 

 

CREATE TABLE Таблица_1 (

ИД_1

char(18) NOT NULL,

 

 

ИД_1

char(20) NOT NULL,

Имя

char(18) NULL)

 

 

Имя

char(20) NULL)

go

. . .

Скрипт - скрипт

go

. . .

 

 

 

 

 

 

 

 

 

 

Рис. 86. Пример сравнения «SQL-скрипт – SQL-скрипт».

 

 

 

 

 

CREATE TABLE Таблица_1 (

 

 

 

 

ИД_1

char(18) NOT NULL,

 

Скрипт – база данных

 

Имя

char(18) NULL)

 

 

 

 

 

 

go

. . .

 

 

 

 

 

 

 

 

 

 

Рис. 87. Пример сравнения «SQL-скрипт – база данных».

База данных – база данных

Рис. 88. Пример сравнения «база данных – база данных».

SQL-скрипт – база данных (рис. 87),

база данных – база данных (рис. 88).

87

Можно загрузить несколько моделей и выполнить сравнение любых из загруженных моделей без их перезагрузки. Если фигурантом сравнения является SQL-скрипт или база данных, то ERwin DM сначала проводит обратную генерацию до уровня модели. Таким образом, фактическое сравнение Complete Compare проводит на уровне «модель – модель». Поэтому в Мастере Complete Compare фигуранты сравнения называются просто Left Model (левая модель) и Right Model (правая модель). При выборе фигуранта сравнения можно установить опцию Set selected models as read only, означающую, что выбранная модель не может быть изменена в процессе синхронизации.

Если одним из фигурантов сравнения является большая база данных, то для повышения производительности процесса сравнения можно использовать опцию Allow Demand Loading. Включение этой опции ограничит объем информации, выгружаемой из каталога базы данных именами объектов верхнего уровня (таблицы, представления). При выполнении операций с частично загруженным объектом в диалоге Resolve Differences (см. далее) для завершения сравнения подгружается детальная информация о данном объекте. Увеличить производительность сравнения можно также за счет фильтрации типов сравниваемых объектов и свойств (Type Selection, Left Object Selection, Right Object Selection, Advanced Options). Фильтрация позволяет минимизировать количество найденных различий и сконцентрировать внимание на наиболее важных в данный момент деталях сравнения, оставляя «за кадром» незначимые для данной сессии сравнения деталях.

Для функции Complete Compare можно выбрать один из трех уровней сравнения (закладка Type Selection): логический Logical, физический Physical и базы данных Database. Допускается одновременный выбор уровней Logical и Physical. Если одна из моделей является чисто логической, то доступным оказывается только уровень Logical, остальные флажки недоступны. Однако если одна из моделей чисто физическая, то можно выбрать как Physical, так и Database. Разница между уровнями Physical и Database

заключается в том, что уровень Database не включает всех свойств моделирования (например, графические шрифты, цвета, рисованные объекты, UDP и т. д.), и такие свойства исключаются из сравнения на уровне базы данных. Для классической логико-физической модели доступны как логический (Logical), так и физический (Physical) уровни, причем можно одновременно сравнивать модели на физическом и логическом уровнях. Эта возможность появилась в версии r7.

После нажатия на кнопку Compare Мастера Complete Compare запускается процесс сравнения, результат которого отображается в открывающемся диалоге Resolve Differences (разрешить различия). Диалог Resolve Differences упрощает анализ результатов сравнения моделей; отображает различия моделей вплоть до различий отдельных свойств объектов, имеет инструменты для навигации по списку выявленных различий и маркиров-

88

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

Рис. 89. Диалог Resolve Differences.

В ERwin MD версии 7.2 диалоговое окно Resolve Differences включает следующие элементы (рис. 89):

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

o Стандартную панель инструментов Standard Toolbar, для вы-

полнения операций синхронизации с выбранными элементами из списка различий (табл. 14).

o Панель анализа влияний Impact Analysis Toolbar для активации дополнительных функции в процессе разрешения различий, таких как просмотр и анализ истории изменений моделей, произведенных в диалоге Resolve Differences, генерация скриптов на изменение моделей по результатам синхронизации (табл. 15).

o Панель известных различий Known Differences Toolbar для марки-

ровки известных различий и работы с моментальными снимками

(snapshot) (табл. 16).

o Панель стандартных фильтров Standard Filters Toolbar для фильтрации списка различий моделей, облегчающей процесс анализа результатов сравнения и синхронизации (табл. 17).

89

o Панель навигации Navigation Toolbar для навигации по списку известных различий, поиска элементов, сворачивания/разворачивания дерева сравниваемых объектов (табл. 18).

Область просмотра различий объектов Object View, разделенная на шесть колонок. В первой колонке представлена иерархия сравниваемых типов объектов. В третьей и шестой отображаются значения объектов левой и правой моделей соответственно. Во второй колонке показаны пиктограммы, иллюстрирующие статус сравнения объектов, например, наличие конфликта у одноименных объектов. Стрелки в четвертой и пятой колонках позволяют синхронизировать модели, скопировав отличия в левую или

вправую модели соответственно.

Область просмотра различий свойств объектов Property View,

структура которой идентична рассмотренной выше структуре раздела Ob-

ject View;

Кнопку Details для отображения в диалоге Details (рис. 90) детализированной информации об отличиях элементов из текущей строки списка различий диалога Resolve Differences.

Строку состояния Status Bar для отображения статуса сравнения текущей строчки.

Рис. 90. Диалог Details.

Панели инструментов диалога Resolve Differences предоставляют быстрый доступ ко всем функциям сравнения. Есть возможность отменить/вернуть результаты операции синхронизации. Имеется также возможность просмотра и детального анализа журнала Action Log, отображающего все изменения в моделях, сделанные в течение сессии сравнения.

Таблица 14. Описание функций стандартной панели инструментов

Resolve Differences Standard Toolbar .

Элемент

 

управления

Описание

Вид Название

 

Copy item to

Перенести несовпадающие элементы из правой в ле-

the left

вую модель.

90