|
|
|||||||||||||||||||||||||||||
|
Работа с ModelMart из среды ERwinИсточник: КомпьютерПресс, #3'2001 Анатолий Тощев
1. Введение В настоящей статье будет рассмотрена возможность работы с ModelMart из среды ERwin. Репозитарий ModelMart сформирован в базе данных ORACLE. Для администрирования пользователей и определения прав их доступа используется модуль ModelMart Security Manager. Для получения доступа к репозитарию ModelMart пользователь должен быть зарегистрирован как пользователь БД ORACLE, в которой создан репозитарий ModelMart. Для добавления пользователя к репозитарию используется кнопка User. ModelMart для защиты информации в репозитарии позволяет устанавливать права доступа к объектам для каждого пользователя. К объектам ModelMart по организации прав доступа относятся:
Работа с ModelMart осуществляется из среды проектирования ERwin. Для работы с ModelMart можно использовать панель инструментов или пункт меню ModelMart. Для включения панели инструментов надо нажать кнопку . Соединиться с ModelMart можно с помощью кнопки или пункта меню ModelMart Connection Manager. Для соединения (рис. 1) вводятся имя пользователя и пароль. При первом соединении необходимо также указать тип сервера БД Oracle (поле Host DBMS) и алиас для соединения с базой данных (DBMS Connection). Эти параметры запоминаются, и в дальнейшем вводить их не надо (если не требуется их изменить). Если в процессе предыдущего сеанса работы произошел несанкционированный выход из ModelMart или под этим именем уже кто-либо работает с другого рабочего места, после соединения с ModelMart будет выдано предупреждение (рис. 2). Положительный ответ позволяет продолжить работу с ModelMart. 4. Принцип хранения информации в ModelMart Физическое хранение моделей ERwin осуществляется в репозитарии ModelMart, который формируется в базе данных при установке ModelMart. Если репозитарий не был установлен, эту операцию можно выполнить из среды ERwin с помощью ModelMart Manager. Логическая структура хранения информации подразумевает хранение моделей в библиотеках. Для работы с библиотеками существует редактор библиотек (ModelMart Library Manager), который позволяет выполнять все необходимые операции по управлению библиотеками. Вызывается редактор библиотек нажатием кнопки или выбором пункта меню ModelMart Library Manager. Диалоговое окно редактора представлено на рис. 3. 5.1. Создание, изменение и удаление библиотеки Для создания библиотеки в поле Name вводится ее название, в поле Description - описание библиотеки и нажимается кнопка Create. Название библиотеки появится в списке библиотек. Опция Auto Archive позволяет перед записью изменений автоматически создавать архив модели.
Здесь необходимо особо отметить такие объекты, как UDP (User Defined Properties - свойства, определяемые пользователем). Хранятся они также с привязкой к библиотеке, но (я не знаю, ошибка это или так задумывалось) UDP, созданные в одной библиотеке, видны и во всех других. Для изменения параметров нужно выделить библиотеку в списке, внести соответствующее изменение в текст названия или описание и нажать кнопку Update. Изменения будут записаны в репозитарий. Для удаления нужно выделить библиотеку в списке и нажать кнопку Delete. Библиотека будет удалена из репозитария вместе с принадлежащими ей моделями (и, соответственно, со всеми архивами, версиями и «мгновенными снимками» - snapshots, принадлежащими моделям библиотеки).
5.2. Работа с объектами библиотек Основной информационной единицей ModelMart является модель. Принципы работы с моделями будут рассмотрены ниже. В этом разделе рассматривается функциональность работы с моделями и объектами, созданными на основе модели и поддерживаемыми редактором библиотек. Модель хранится в библиотеке. В процессе работы от модели могут быть порождены еще несколько типов объектов:
Принципы создания этих объектов и работы с ними также будут рассмотрены далее. Визуально в иерархическом списке модель принадлежит библиотеке, а вышеперечисленные объекты являются подуровнями модели. Редактор библиотек позволяет работать с двумя первыми типами объектов. Он предоставляет пользователям возможность изменять названия моделей и объектов и комментарии к ним, а также удалять их. Принцип выполнения этих операций аналогичен работе с библиотеками (п. 4.1). 5.3. Дополнительные возможности Редактор библиотек дает возможность контролировать текущее подключение пользователей к моделям и режимы блокировки этих моделей. Картинка с изображением замка слева от названия модели в списке обозначает, что с данной моделью сейчас ведется работа. При этом цвет говорит об уровне блокировки модели (зеленый - блокировка установлена вами, красный - блокировка установлена другим пользователем, желтый - блокировка не установлена). При выборе в списке такой модели в нижнем поле появляется список пользователей, работающих с ней в данный момент. Кнопка Report вызывает стандартный генератор отчетов ERwin, включающий группу отчетов Library, где имеется шаблон отчета по объектам библиотеки. При выборе библиотеки, модели или другого объекта в нижней части окна отображается дополнительная информация: кто создал, дата и время создания, кто и когда внес последние изменения, количество сущностей и объектов (для моделей и ее объектов). Для создания новой модели необходимо нажать кнопку или выбрать пункт меню New ModelMart Diagram. На экран будет выведено окно (рис. 4). В выпадающем списке надо выбрать библиотеку, в которой будет создаваться модель. После выбора библиотеки список ModelMart Library Object Set будет заполнен списком объектов, которые ModelMart хранит не в модели, а в библиотеке. При нажатии кнопки Ok все эти объекты будут включены в новую модель. Если не требуется включать их в модель, нажимается кнопка Cancel. Открыть модель можно кнопкой или пунктом меню Open ModelMart Diagram. При этом появляется окно (рис. 5). Для загрузки модели следует выбрать в правом списке библиотеку, в которой хранится модель. При этом левый список заполнится перечнем моделей с подмоделями из данной библиотеки. Затем следует выбрать необходимую модель или подмодель, установить уровень блокировки, налагаемой на выбираемый объект (рекомендуемое значение - Unlocked, возможны также значения Locked и Read-only), и нажать кнопку Ok. При выборе уровня Locked модель блокируется и становится недоступной для внесения изменений другими пользователями; при этом возможность загрузки модели другими пользователями сохраняется в режиме Read-only. Следует отметить, что при открытии подмодели в режиме Locked блокируется не только данная подмодель, но и вся модель, которой она принадлежит. Изменить уровень блокировки модели можно и в процессе работы. Для этих целей служит фиксируемая кнопка . Если кнопка нажата, значит модель находится в режиме Locked. Блокировка с модели снимается повторным нажатием кнопки. Причем сделать это может только пользователь, заблокировавший данную модель. В режиме Read Only нельзя установить блокировку модели (кнопка недоступна).
При выборе модели (подмодели) в нижней части окна отображается дополнительная информация по данной модели (подмодели): кто создал, дата и время создания, кто и когда внес последние изменения, количество сущностей и объектов. ModelMart имеет в своем составе альтернативный ERwin редактор подмоделей. Вызывается он нажатием кнопки или через пункт меню ModelMart Subject Area Manager. Окно редактора подмоделей изображено на рис. 6. Редактор позволяет создавать, изменять и удалять подмодели. Он также позволяет формировать состав подмодели из списка сущностей. Чтобы зафиксировать все изменения, следует закрыть окно нажатием кнопки Ok. Кнопка Cancel отменит все изменения. 8.1. Создание, изменение названия и удаление подмодели В верхнем списке представлена стандартная иерархическая структура репозитария ModelMart. Для создания подмодели в нем выбирается модель, для которой необходимо создать подмодель. Имя подмодели вносится в поле Subject Area Name, и нажимается кнопка Create SA. Для изменения имени подмодели в верхнем списке выбирается подмодель. Имя подмодели корректируется в поле Subject Area Name, и нажимается кнопка Rename SA. Для удаления подмодели в верхнем списке выбирается подмодель и нажимается кнопка Delete SA.
Для формирования состава подмодели ее следует выбрать в верхнем списке. Левый список заполнен всеми сущностями модели, правый - сущностями, входящими в подмодель. Для перемещения сущностей между списками используются кнопки «<<» и «>>». Включение опции Include Parents and Children позволяет вместе с выбранной сущностью переместить ее родительские и дочерние сущности. В процессе работы можно просмотреть сделанные изменения. Это осуществляется нажатием кнопки или выбором пункта меню ModelMart Change Control Manager. При этом на экран выводится окно Review Changes (рис. 7). (В целях экономии места приводится только часть окна, несущая основную информацию.) Можно также восстановить модель из репозитария, отказавшись от некоторых изменений. Для этого следует отметить необходимые строки с изменениями для восстановления и нажать соответствующую кнопку или выполнить двойной клик на строке с изменениями. Все отмененные изменения будут аннулированы, а модель восстановлена из репозитария. Здесь существует один очень неприятный момент: все остальные изменения будут автоматически сохранены в репозитарий. С практической точки зрения это очень неудобно для пользователя, можно даже сказать - вызывает некоторое раздражение. Особенно когда сталкиваешься с этим впервые. Предусмотрено несколько возможностей по отображению изменений:
Рекомендации. Данную функциональность удобно использовать в следующих случаях:
10. Просмотр изменений, сделанных другими пользователями Для просмотра изменений, сделанных другими пользователями, следует нажать кнопку или пункт меню ModelMart Refresh Manager, после чего будет загружено окно ModelMart Change Control Manager, аналогичное окну при просмотре изменений. В этом окне будут показаны все изменения, выполненные другими пользователями. Учитываются изменения, сохраненные с момента открытия вами модели и до выполнения Refresh. На рис. 10 приведен пример окна для сравнения его с рис. 7, чтобы показать различие данных операций (Change и Refresh). На нем видно, что кто-то из пользователей удалил сущность «Должность». Допускается выравнивание модели по изменениям в обоих направлениях, то есть можно удалить сущность у себя в модели или снова создать ее в репозитарии. Выполняться будут изменения, текст которых черного цвета. Для изменения направления выравнивания необходимо выделить изменение и нажать кнопку .
Для сохранения модели требуется нажать кнопку или выбрать пункт Save to ModelMart. Если модель необходимо сохранить под новым именем, выбирается пункт меню ModelMart Save As. На время сохранения модель (подмодель) переводится в состояние Locked и становится недоступна для сохранения изменений другими пользователями. При большом количестве изменений процесс сохранения может занять продолжительное время, поэтому рекомендуется периодически производить сохранения в процессе работы с небольшими изменениями. Это необходимо для обеспечения процесса стабильности многопользовательской работы, а также во избежание потери информации по изменению модели, в случае сбоя в работе компьютера. При сохранении новой модели появляется диалог (рис. 11). Для сохранения модели следует выбрать в правом списке библиотеку, в которую модель будет записана, а в левом поле ввести имя модели. После нажатия кнопки Ok сохранение модели произойдет без дополнительных предупреждений. Процесс сохранения отображается в строке статуса с помощью показателя прогресса. 11.2. Сохранение существующей модели При сохранении изменений возникает стандартный диалог запроса на подтверждение сохранения (рис. 12). При снятом флажке Review All Changes Before Save сохранение изменений начинается сразу. При установленном флажке на экран выдается диалог ModelMart Change Control Manager. Для контроля конфликтных ситуаций рекомендуется оставлять данную опцию включенной. Кнопка позволяет сохранить изменения. Кнопка отменяет сохранение изменений. Имеется возможность частичного сохранения изменений. Для этого выбирается строка в списке изменений и нажимается кнопка или делается двойной клик на строку с изменениями. Можно сохранить измененную модель в формате файла ERwin ER1 или сформировать отчет об изменениях. Если в промежутке между загрузкой модели и ее сохранением кто-либо из пользователей сделал изменения и сохранил их, то окно (рис. 13) будет состоять из двух частей (аналогично окну показа расхождений - (см. рис. 10). В левой части будут отображены изменения, сделанные вами, в правой - другими пользователями. При этом принципы сохранения изменений аналогичны вышеописанным. Можно сохранить свои изменения, а можно оставить изменения, внесенные другими пользователями.
Если при сохранении информации в ModelMart возникает ошибка (модель заблокирована другим пользователем и т.п.), существует возможность сохранить модель в файл формата ER1. Для этого нажимается кнопка или выбирается пункт меню File Save As. При этом возникает диалог для ввода имени Snapshot (рис. 14). По умолчанию ModelMart формирует имя, состоящее из алиаса пользователя и даты, заключенных в квадратные скобки. Имя можно изменить, однако рекомендуется оставлять квадратные скобки для выделения Snapshot. Snapshot представляет собой «мгновенный снимок» модели на момент последнего успешного сохранения (если сохранения в процессе работы не было, то на момент открытия). После создания Snapshot выдается стандартный диалог ERwin сохранения модели в файл. В файл модель сохраняется с изменениями. Snapshot используется для последующей синхронизации моделей из файла и репозитария (п. 11). 11.4. Сохранение в файл формата ER1 Если модель необходимо сохранить не в репозитарий ModelMart, а в файл формата ER1 (формат ERwin), нажмите кнопку закрытия модели или пункт меню Close ModelMart Diagram. В появившемся диалоге установите опцию Save As .ER1 file. Дальнейшие шаги сохранения файла соответствуют стандарту Windows. При сохранении модели предоставляется возможность создания Snapshot. Для этого установите опцию Keep ModelMart snapshot for later marge. Это позволит впоследствии осуществить синхронизацию моделей из файла и репозитария. Опция Keep ModelMart Diagram Lock позволяет удержать блокировку модели после ее закрытия.
12. Сохранение файла формата ER1 в репозитарии ModelMart ModelMart позволяет пользователям сохранять в репозитарий модели, загруженные из файлов. Для сохранения необходимо нажать кнопку или выбрать пункт Save to ModelMart. Если файл был создан из модели ModelMart, то выдается диалог на выполнение операции сравнения моделей (рис. 15). Контроль различия осуществляется по трем составляющим: модель из файла, Snapshot и модель из репозитария. Выбор Snapshot осуществляется в выпадающем списке. По умолчанию устанавливается Snapshot, созданный при сохранении файла. Можно выбрать другой Snapshot или вообще отказаться от его использования, но рекомендуется использовать Snapshot по умолчанию для корректного сравнения моделей.
ModelMart предоставляет пользователям такую возможность, как объединение моделей. Объединение моделей подразумевает создание модели, содержащей все объекты объединяемых моделей. Для выполнения этой операции надо загрузить в ERwin исходную модель. Исходная модель может быть загружена из файла либо из репозитария ModelMart. Далее нажимается кнопка или выбирается пункт меню ModelMart Merge Manager. На экране появляется диалог (рис. 16), в котором следует выбрать целевую модель. Источником целевой модели может быть только ModelMart. После нажатия кнопки Merge начнется процесс объединения моделей. На экран будет выдан стандартный диалог ModelMart Change Control Manager. Процесс работы с этим диалогом описан выше (п. 8). Результат может быть помещен в целевую либо в новую модель. Этот параметр может быть задан в настройках опций, которые вызываются нажатием кнопки Merge Options. При сохранении результата в новую модель после выполнения операции объединения на экране появится диалог, аналогичный режиму Save As (рис. 11).
Кроме возможности задания размещения результата, рассмотренной в предыдущем разделе, опции позволяют настроить параметры разрешения конфликтов объединения. Окно настройки опций представлено на рис. 17. Принцип разрешения конфликтов заключается в устранении проблем существования объектов (сущностей, ключей (индексов) и физических объектов) с одинаковыми именами. Существуют три варианта разрешения конфликта: Merge - создает только один объект; Do Not Merge - создает два объекта с одинаковыми именами, действует только для сущностей; Rename - создает два объекта с разными именами (FACE и FACE/2).
14.1. Идеология версионности и архивирования ModelMart содержит редактор версий, который позволяет управлять версионностью и работать с архивами и Snapshot. Согласно идеологии ModelMart понятие «версия» представляет собой вариант модели, зафиксированный в определенный момент времени. Версия имеет статус Read Only. Изменяться может только модель. Поэтому в пределах одной модели нельзя параллельно поддерживать и развивать несколько веток (Branch - по терминологии конфигурационного управления) модели. Однако имеется возможность сравнения модели и версии, которая позволяет осуществить процесс восстановления информации в модель из версии. Версия создается аналогично Snapshot: записывается состояние модели по последнему изменению.
Редактор версий (рис. 18) вызывается нажатием кнопки или через пункт меню ModelMart Version Manager. В верхнем списке представлено иерархическое дерево репозитария. Версии, Snapshot и архивы являются подуровнями для модели. Для сохранения версии необходимо нажать кнопку Version. При этом на экране появляется окно (рис. 19) для задания параметров версии. В поле New Version Name вводится имя версии. По умолчанию ModelMart формирует название версии из префикса V и порядкового номера, двоеточия и имени модели. Пиктограммы у версии и Snapshot одинаковые, поэтому, чтобы их различать, рекомендуется придерживаться определенного принципа при формировании их имен. Можно использовать стандартный принцип ModelMart, а можно ввести свой. Иконка архива имеет в своем изображении красный треугольник. В поле Description вводится описание версии. 14.3. Дополнительная функциональность Редактор версий предоставляет пользователям некоторую функциональность по работе с версиями, snapshot и архивами (в дальнейшем по тексту данной главы все будет именоваться версиями, если только при этом не требуется указать точное название). Кнопка Diff позволяет сравнивать различные версии между собой или между версией и моделью. Для этого надо выделить две строки в списке (используя клавиши Ctrl или Shift) и нажать кнопку. Появится стандартное окно редактора изменений с различиями версий. При сравнении модели и версии имеется возможность восстановления информации из версии в модель. Открыть версию можно только из редактора версий. Это осуществляется кнопкой Open. При открытии выдается предупреждение, что сохранить данную версию можно только c помощью пункта меню Save As. Кнопка Update позволяет скорректировать описание версии. Кнопка Purge предназначена для работы с архивами. Она позволяет удалить архив. Для этого необходимо выбрать архив и нажать кнопку. На экран будет выдано сообщение о том, что все архивы, имеющие более раннюю дату, чем выделенный, будут удалены вместе с ним.
Для управления сессиями в ModelMart используется редактор сессий (Session Manager), вызываемый через пункт меню ModelMart Session Manager. Вид редактора представлен на рис. 20. Верхний список содержит имена всех пользователей ModelMart. При выборе пользователя в нижнем окне отображается список открытых им диаграмм с указанием уровня блокировки. С помощью кнопки Terminate сессию можно прервать. Данный режим используется для снятия блокировок с моделей. Наиболее часто блокировки остаются при некорректном выходе пользователя из ModelMart. Безусловно, в этой статье не удалось рассказать обо всех тонкостях работы с ModelMart, да эта цель автором и не преследовалась. Мне хотелось познакомить проектировщиков баз данных с принципами работы ERwin и ModelMart и их основными возможностями. Однако некоторые советы, основанные на опыте работы с ModelMart, я все-таки хотел бы дать.
|
|