Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ERWin_hw5w1xxa4sjc.pdf
Скачиваний:
291
Добавлен:
07.06.2015
Размер:
4.06 Mб
Скачать

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

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

ной генерацией или обратным проектированием (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,

структура которой идентична рассмотренной выше структуре раздела Object 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

 

Copy item to

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

 

the right

вую модель.

 

 

Сопоставить (связать) два элемента вручную. После

 

 

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

 

Match two

текущий объект или свойство в левой модели. Далее

 

items

требуется щелкнуть по объекту или свойству в правой

 

 

модели. В результате элементы из левой и правой мо-

 

 

дели будут сопоставлены.

 

Unmatch two

Отменить ранее выполненное сопоставление элемен-

 

items

тов.

 

Undo

Отменить последнее действие.

 

 

 

 

Redo

Вернуть результаты последнего отмененного дей-

 

ствия.

 

 

 

 

Открыть диалог Report для генерации отчета о разли-

 

Show Report

чиях между сравниваемыми моделями для Word,

 

 

Excel или web-браузера.

 

Help

Открыть окно Справки по диалогу Resolve

 

Differences.

 

 

Таблица 15. Описание функций панели анализа влияний

 

 

Impact Analysis Toolbar.

 

 

 

 

Элемент

 

управления

Описание

Вид

Название

 

 

 

Открывает журнал изменений моделей Action Log

 

 

в режиме «только для чтения». Журнал отображается

 

 

в форме двух панелей, в которых показывается исто-

 

Action Log

рия изменений сравниваемых моделей, произведен-

 

ных в диалоге Resolve Differences. Журнал имеет ин-

 

 

 

 

струменты для анализа (поиска) определенных тран-

 

 

закций и генерации отчетов по изменениям моделей с

 

 

помощью ERwin Data Browser.

 

Message Log

Сообщает, какое действие только что выполнялось, а

 

также успешно или нет завершено это действие.

 

 

 

 

Генерирует скрипт на изменение (alter script) левой

 

 

модели по результатам синхронизации. После актива-

 

 

ции инструмента сначала открывается диалог Schema

 

Left Alter

Generation Alter Script, с помощью которого настраи-

 

Script/Schema

ваются опции генерации скрипта. (Имеет смысл, ко-

 

Generation

гда левой моделью представлена база данных или

 

 

скрипт.)

 

 

Примечание. Данная опция не доступна, когда срав-

 

 

нивается проект Visual Studio с моделью ERwin DM.

 

Right Alter

Генерирует скрипт на изменение (alter script) правой

 

Script/Schema

модели по результатам синхронизации. После актива-

91

Generation ции инструмента сначала открывается диалог Schema Generation Alter Script, с помощью которого настраиваются опции генерации скрипта. (Имеет смысл, когда правой моделью представлена база данных или скрипт.)

Примечание. Данная опция не доступна, когда сравнивается проект Visual Studio с моделью ERwin DM.

Таблица 16. Описание функций панели известных различий

Known Differences Toolbar.

 

Элемент

 

 

управления

Описание

Вид

Название

 

 

Save Known

Сохранить известные различия как моменталь-

 

ный снимок (Snapshot). Открывается диалог Save

 

Differences Into a

 

Snapshot, в котором можно настроить опции для

 

Snapshot

 

сохранения моментального снимка.

 

 

 

Load Known Dif-

Загрузить сохраненный моментальный снимок

 

(Snapshot) в текущую сессию сравнения Resolve

 

ferences From a

 

Differences. Открывается диалог Load Snapshot, в

 

Snapshot

 

котором можно выбрать требуемый снимок.

 

 

 

 

Пометить (или снять метку) строчку как «извест-

 

 

ное различие» (Known Difference). Можно вы-

 

 

брать несколько строк, удерживая клавишу

 

 

CNTR и щелкая левой кнопкой мышки по требу-

 

Mark/Unmark a

емым строкам в диалоге Resolve Differences. Ко-

 

Row as a Known

гда выбранные строки помечаются как «извест-

 

Difference

ные различия», они более не отображаются в

 

 

списке найденных отличий диалога Resolve Dif-

 

 

ferences. После выбора известных отличий их

 

 

можно сохранить как моментальный снимок

 

 

(Snapshot).

 

 

Отобразить известные различия, скрытые ин-

 

Show Known Dif-

струментом Mark a Row as a Known Difference.

 

Инструмент неактивен, если неактивен момен-

 

ference Items

 

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

 

 

 

 

ные различия.

 

Show Differences

Отобразить различия, в которых были изменены

 

that have changed

 

значения свойств с момента последней загрузки

 

since the last loaded

 

моментального снимка.

 

Snapshot

 

92

Таблица 17. Описание функций панели стандартных фильтров

 

 

Standard Filters Toolbar.

 

 

 

 

Элемент

 

 

управления

Описание

Вид

Название

 

 

Show Equal

Отобразить одинаковые объекты и свойства в обе-

 

Items

их моделях.

 

 

Отобразить строки объектов и свойств, синхрони-

 

Show Resolved

зированных в текущей сессии разрешения разли-

 

Items

чий. Соответствующие строки выделяются цветом

 

 

и помечаются пиктограммой.

 

 

Отобразить все различия между объектами и свой-

 

Show Not Equal

ствами в обеих моделях. Фильтр выбирается по

 

умолчанию при открытии диалога Resolve Differ-

 

 

 

 

ences.

 

Show Unaligned

Отобразить объекты левой модели, которые отсут-

 

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

 

Objects on the

 

свойства объектов. Фильтр выбирается по умолча-

 

Right

 

нию при открытии диалога Resolve Differences.

 

 

 

Show Unaligned

Отобразить объекты правой модели, которые от-

 

сутствуют в левой модели. Фильтр не действует на

 

Objects on the

 

свойства объектов. Фильтр выбирается по умолча-

 

Left

 

нию при открытии диалога Resolve Differences.

 

 

Таблица 18. Описание функций панели навигации Navigation Toolbar.

 

Элемент

 

 

управления

Описание

Вид

 

Название

 

 

 

Go to Previous

Перейти к предыдущему (следующему)

 

 

найденному различию объектов или

 

 

(Next) Difference

 

 

свойств.

 

 

 

 

 

Find (Find Next)

Найти (найти следующий) объект или

 

 

an Item

свойство.

 

 

Expand all

Развернуть (свернуть) текущую ветвь де-

 

 

(Collapse all)

рева сравниваемых объектов

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

мышкой по пиктограмме на стандартной панели инструментов диалога Resolve Differences, в открывшемся диалоге Report Dialog (рис. 91) выбрать формат отчета и нажать ОК. Пример отчета по результатам сравнения в формате HTML представлен на рис. 92.

93

Рис. 91. Диалог Report Dialog для выбора формата отчета.

Рис. 92. Пример отчета по результатам сравнения в формате HTML.

Изменение моделей в диалоге Resolve Differences в процессе синхронизации происходит в реальном времени. После того, как вы закончили работу с Complete Compare, обе модели могут остаться открытыми в ERwin DM; это зависит от того, установлен ли флажок Auto close Database/Script Models (закрыть автоматически) в закладке Advanced Options Мастера Complete Compare.

Для сохранения изменений моделей следует:

1.Щелкнуть по кнопке Finish диалога Resolve Differences для завершения сессии сравнения. (Примечание. Можно изменить опции сравнения

вМастере Complete Compare и запустить новый сеанс сравнения.)

2.В Мастере Complete Compare щелкнуть по кнопке Close.

3.В диалоге Close Models выбрать модели, которые следует закрыть (рис. 93). После щелчка по кнопке ОК для каждой из моделей, помеченной для закрытия, появится диалог Close, запрашивающий подтверждение сохранения изменений модели (рис. 94).

94

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]