Сравнение и синхронизация с 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 позволяет автоматизировать трудоемкий процесс сравнения и синхронизации моделей, скриптов и баз данных. Сравнение можно проводить как по всему множеству объектов и всему множеству их свойств, так и по отдельным типам объектов и отдельным свойствам объектов, т.е. фильтровать объекты и свойства фигурантов сравнения. Инструмент Complete Compare позволяет выявить отличие свойств одного и того же объекта фигурантов сравнения, а также найти объекты и свойства, отсутствующие в одном из фигурантов сравнения. По результатам сравнения можно сгенерировать отчет в форматах HTML, DOC (Word), XLS (Excel). Выявленные в результате сравнения отличия можно выборочно переносить в фигуранты сравнения для их обновления, т.е. синхронизировать. Для переноса выбранных отличий в базу данных ERwin DM может автоматически сгенерировать ALTER-скрипт на изменение. Запустить процесс Complete Compare можно щелкнув по пиктограмме Основными этапами работы с инструментом Complete Compare являются: · Выбор пары фигурантов сравнения: моделей, скриптов, баз данных. · Выбор объектов и свойств, по которым будет проводиться сравнение (фильтрация). (Список сравниваемых объектов и свойств зависит от выбранной СУБД.) · Автоматическое обнаружение отличий (сравнение). Определение способов разрешения отличий (синхронизации). Это самый важный этап в процессе Complete Compare. · Сохранение синхронизированных моделей. Инструмент Complete Compare позволяет сравнивать и синхронизировать следующие пары фигурантов: · модель – модель (рис. 83), · модель – SQL-скрипт (рис. 84), · модель – база данных (рис. 85), · SQL-скрипт – SQL-скрипт (рис. 86), Рис. 83. Пример сравнения «модель – модель».
Рис. 84. Пример сравнения «модель – SQL-скрипт». Рис. 85. Пример сравнения «модель – база данных».
Рис. 86. Пример сравнения «SQL-скрипт – SQL-скрипт».
Рис. 87. Пример сравнения «SQL-скрипт – база данных».
Рис. 88. Пример сравнения «база данных – база данных». · SQL-скрипт – база данных (рис. 87), · база данных – база данных (рис. 88). Можно загрузить несколько моделей и выполнить сравнение любых из загруженных моделей без их перезагрузки. Если фигурантом сравнения является 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 упрощает анализ результатов сравнения моделей; отображает различия моделей вплоть до различий отдельных свойств объектов, имеет инструменты для навигации по списку выявленных различий и маркировки различий, позволяет выбирать отдельные элементы для синхронизации моделей (разрешения различий), может сгенерировать скрипты на изменение моделей по результатам синхронизации, построить отчет по результатам сравнения. Рис. 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). 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.
Таблица 15. Описание функций панели анализа влияний
Таблица 16. Описание функций панели известных различий
Таблица 17. Описание функций панели стандартных фильтров
Таблица 18. Описание функций панели навигации Navigation Toolbar.
Для генерации отчета по результатам сравнения следует щелкнуть мышкой по пиктограмме Рис. 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).
Рис. 93. Диалог Close Models. Рис. 94. Диалог Close. Если в процессе Complete Compare изменения касались базы данных или файла скрипта, то сохранить эти изменения можно одним из следующих способов: · сохранить изменения в новой модели, · сгенерировать скрипт на изменение базы данных (alter script), · сохранить изменения в новом файле-скрипте. Таким образом, инструмент Complete Compare, встроенный в CASE-средство ERwin Data Modeler позволяет автоматизировать одну из задач сопровождения баз данных за счет автоматизации трудоемкого процесса сравнения и синхронизации моделей и баз данных.
|