Использование расширенных функциональных возможностей AllFusion ERwin Data Modeler - продукта компании Computer Associates. Работа с уровнями проектирования

Зайцев С.Л.

Оглавление

В целом в иерархии уровней проектирования различные типы модели используются в жизненном цикле разработки приложений с целью различения типов модели между собой. В частности с помощью логической модели можно представить бизнес-требования и правила. Из этой модели можно получить универсальную физическую модель, в которой физические конструкции спроектированы для универсальной базы данных. Если универсальная физическая модель является устойчивой, из нее можно получить несколько моделей, специфичных для базы данных. Таким способом универсальная физическая модель становится моделью стандартов.

Различные функциональные возможности AllFusion ERwin Data Modeler (ранее: ERwin), (далее по тексту - AEDM) позволяют поддерживать разделение типов модели, а также соединение и синхронизацию связанных моделей. Эти функциональные возможности будут кратко рассмотрены в этой статье.

Что такое уровень проектирования?

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

В самом простом представлении иерархии уровней проектирования первый уровень проектирования (Design Layer 1) представляет собой логическую модель данных (Logical Data Model), которая определяет бизнес-требования к приложению. Затем на втором уровне проектирования (Design Layer 2) эти бизнес-требования преобразуются в правила внедрения базы данных в физической модели данных (Physical Data Model). Универсальная физическая модель может быть создана с помощью универсального ODBC в качестве целевой базы данных. Третий уровень проектирования (Design Layer 3) может представлять различные физические внедрения одной модели данных - например, физическая модель DB2 (Physical Model DB2) и Физическая модель Oracle (Physical Model Oracle), но на различных целевых серверных платформах:

Иерархия уровней проектирования.

В целом использовать одну модель для всех фаз процесса проектирования невозможно. Вместо этого необходимо разработать и соединить связанные модели на различных уровнях проектирования. На каждом уровне проектирования необходимо принимать и регистрировать проектные решения, которые преобразуют структуру от уровня к уровню. В конечном счете, необходимо поддерживать связи между моделями на различных уровнях проектирования и синхронизировать изменения, внесенные на различных уровнях, одновременно поддерживая соответствующие структуры на каждом из них. Эта возможность обеспечивается в AEDM комбинацией связи моделей на различных уровнях проектирования посредством источников моделей и применения трансформаций в рамках модели.

Первый уровень проектирования: концептуальная логическая модель данных

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

Второй уровень проектирования: универсальная физическая модель данных

На этом уровне проектирования определяют структуру таблиц и столбцов и универсальное именование, необходимые для представления бизнес-приложения. Однако в универсальной физической модели данных объекты и свойства не зависят от базы данных. Другие модели данных, специфичные для базы данных, могут быть получены из универсальной физической модели данных.

Третий уровень проектирования: физические модели, специфичные для базы данных

Теперь с помощью AEDM можно воплотить свой опыт во внедрение базы данных, создав физический уровень проектирования, специфичный для базы данных. Каждое приложение может работать на нескольких платформах базы данных; последний уровень проектирования необходим для моделей данных, специфичных для базы данных.

Другие иерархии уровней проектирования

Иерархия модели масштаба предприятия

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

Несмотря на большие различия этих приложений, в них вероятно совместно используются некоторые общие сущности, например, СОТРУДНИК и КЛИЕНТ. Модель масштаба предприятия (Enterprise Model) может включать в себя обе этих сущности (Logical Model) наряду с другими сущностями, которые ни для одной из этих специфических для приложения моделей выбрать невозможно. В этой иерархии следующим уровнем проектирования может быть универсальная физическая модель (Generic Physical Model) для каждого приложения. Как и в предыдущем примере, если каждое приложение работает на нескольких платформах базы данных (Physical Model DB2 и Oracle Physical Model), последний уровень проектирования необходим для моделей данных, специфичных для базы данных.

Логическая модель масштаба предприятия. Слева - Система отслеживания продаж, справа - система ввода заказа.

Иерархия хранилища данных

Для хранилища данных требуются дополнительные уровни проектирования для моделей всего хранилища и витрин данных. В физической модели AEDM предлагает опции для нотации Dimensional и для функциональных возможностей, связанных с движением данных (информация об источнике данных, правила трансформации данных), эти опции позволяют оптимизировать модели хранилищ данных Warehouse Model.

Создание новых уровней проектирования

Разделение модели

Если использовалась модель данных, которая была сохранена в предыдущей версии AEDM, это - логическая/физическая модель. Если эту модель требуется разделить на две модели - логическую и физическую, можно использовать опцию Split Model (Разделить модель) в меню Tools (Инструменты).

При разделении модели AEDM предлагает сохранить отдельные логическую и физическую модели данных с различными именами. При сохранении новых моделей логическая модель становится источником физической модели, который необходим для синхронизации изменений в этих двух типах модели. Исходная логическая/физическая модель сохраняется со своим первоначальным именем.

Получение модели

Независимо от того, существует логическая/физическая модель или только логическая или только физическая модели, AEDM позволяет легко создать новую модель. Вместо того, чтобы копировать объекты из одной модели в другую или начинать все с самого начала, мастер Derive New Model (Получение новой модели) позволяет за несколько шагов получить новую модель из источника модели. AEDM связывает исходную модель в качестве источника новой модели. Затем можно приступать к работе над отдельными моделями, поскольку изменения, внесенные в каждую модель, можно синхронизировать в любое время.

Для получения новой модели выберите пункт Derive New Model (Получить новую модель) в меню Tools (Инструменты). Мастер Derive New Model (Получение новой модели) поможет выполнить все шаги процесса и позволяет определить объекты, которые требуется перенести из исходной модели в новую.

Добавление источника модели

Источник модели - это родительская модель, которая связана с другой моделью для синхронизации изменений. AEDM автоматически присваивает объектам в источнике модели и в связанной модели скрытые идентификаторы. С помощью этих идентификаторов объектов AEDM отслеживает изменения, вносимые в обе модели. Затем изменения можно синхронизировать, даже если имя объекта изменилось.

Иногда при построении иерархии уровней проектирования целесообразнее связать две существующие модели, чем получить новую модель из существующей. Например, имеется универсальная модель, которую требуется определить в качестве источника модели для других моделей, специфичных для базы данных. В этом случае можно добавить универсальную модель в качестве источника к модели, специфичной для базы данных. При добавлении источника модели необходимо определить объекты и свойства, которые требуется перенести из источника модели в целевую модель.

Для добавления источника модели выберите пункт Add Model Source (Добавить источник модели) в меню Tools (Инструменты). Мастер Add Model Source (Добавление источника модели) позволяет за несколько шагов определить объекты, которые требуется добавить в целевую модель. Объекты добавляются в целевую модель и связываются, тем самым обеспечивается синхронизация любых дальнейших изменений.

Если необходимо перенести объекты из различных моделей, можно добавить несколько источников модели. После добавления источника модели диалог Model Sources Properties (Свойства источников модели) может использоваться для просмотра и редактирования информации об источнике модели.

Что такое трансформация?

Трансформация - это метод, позволяющий применить и зарегистрировать проектное решение, т. е. решение о внесении изменений в объекты или свойства на определенном уровне проектирования. При применении трансформации в состояние ряда объектов вносятся изменения с целью усовершенствования, нормализации или денормализации модели. При использовании трансформаций можно выделить следующие основные преимущества:

- Автоматизация. AEDM упрощает совершенствование логической и физической моделей. Вместо применения изменений вручную можно использовать мастеры для автоматического применения изменений уровня проектирования.
- Трассировка. Для каждого объекта модели, создаваемого при трансформации, в AEDM ведется историческая информация. Историю трансформированных объектов можно проследить.
- Сохранение свойств объекта. Свойства трансформированных объектов сохраняются. (Повторного ввода информации вручную не требуется.)

Панель инструментов Transform (Трансформация)

Панель инструментов Transform (Трансформация) предлагает набор инструментов для применения трансформации. Доступность инструментов на панели инструментов Transform (Трансформация) определяется типом модели и объектами, участвующими в трансформации.

Применение трансформаций

В большинстве случаев при выборе объектов, которые требуется трансформировать, соответствующие инструменты становятся доступными на панели инструментов Transform (Трансформация). Например, для применения трансформации свертывания супертипа/подтипа сначала необходимо выбрать символ супертипа/подтипа.

Как работает трансформация?

Трансформация "многие ко многим" позволяет, вероятно, лучше всего проиллюстрировать процесс трансформации AEDM. Для использования этой трансформации необходимы две сущности, имеющие связь "многие ко многим". Для установления этого вида связи часто между двумя исходными сущностями добавляется ассоциативная сущность и соединяется с каждой сущностью идентифицирующей связью. С помощью трансформации "многие ко многим" связь "многие ко многим" разрывается автоматически и заменяется ассоциативной сущностью и двумя идентифицирующими связями.

После выбора объектов, участвующих в трансформации, необходимо щелкнуть на кнопке панели, которая открывает мастер. Затем необходимо ответить на ряд вопросов, определяющих применение трансформации. Мастер четко располагает результаты после применения трансформации. Участвующие объекты преобразуются после завершения трансформации.

Ожидаемые результаты трансформации

На следующей диаграмме показано состояние объектов, участвующих в трансформации, до и после трансформации.



Трансформации и проводник моделей

В проводнике моделей при каждом применении трансформации важная информация в папке Transforms (Трансформации) обновляется. В эту информацию включается имя трансформации, исходный и целевой объекты, участвующие в трансформации.

Создание вложенных трансформаций

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

Разрыв связей трансформации и отмена трансформаций

AEDM предлагает два метода "отмены" трансформации. Связи трансформации можно разорвать, либо трансформацию можно отменить.

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

Чтобы разорвать связи трансформации, перейдите в проводник моделей и щелкните правой кнопкой мыши на трансформации. В контекстном меню выберите пункт Delete (Удалить) и затем выберите Resolve (Разорвать связи).

ПРИМЕЧАНИЕ: Если источник модели связан с моделью, в которой была применена трансформация, при разрыве связей трансформации связь между трансформированными и исходными объектами в источнике модели будет разорвана.

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

Чтобы отменить трансформацию, перейдите в проводник моделей и щелкните правой кнопкой мыши на трансформации. В контекстном меню выберите пункт Delete (Удалить) и затем выберите Reverse (Отменить).

Синхронизация изменений между уровнями проектирования

Как отмечалось выше, модель может быть связана с источником модели в результате разделения логической/физической модели, получения модели или добавления источника модели. После того как модели присвоен источник модели, изменения в объектах, которые были перенесены из источника модели, отслеживаются автоматически. В любое время можно использовать мастер Sync with Model Source (Синхронизация с источником модели) для импорта и экспорта изменений между моделью и ее источником.

Мастер Sync with Model Source (Синхронизация с источником модели) позволяет за несколько шагов выполнить процесс выбора типов объектов и изменений, которые требуется сравнить и синхронизировать. Также можно определить правила замены регистра и максимальной длины для объектов логической и физической моделей и указать файл, позволяющий соблюдать стандарты именования в целевой модели. В результате выводится параллельный список изменений, внесенных в исходную и/или целевую модель.

При импорте или экспорте изменений AEDM обновляет дату синхронизации в моделях и диалоге Model Sources Properties (Свойства источников модели).

Управление стандартами

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

Стандарты именования

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

В меню Tools (Инструменты) выберите пункт Names (Имена), затем выберите диалог Model Naming Options (Опции именования модели). Этот диалог позволяет определить стандарты именования для текущей модели данных. Можно определить регистр (нижний или верхний) и максимальную длину имени физических объектов. Для всех типов модели можно определить реагирование AEDM на одинаковые имена (спросить, разрешить или запретить).

Чтобы открыть редактор стандартов именования (Naming Standards Editor), в меню Tools (Инструменты) выберите пункт Names (Имена) и затем пункт Edit Naming Standards (Редактировать стандарты именования). Этот редактор позволяет определить отдельные стандарты именования для логических и физических объектов.

В редакторе стандартов именования на вкладке Glossary (Глоссарий) можно импортировать существующий глоссарий имен или создать новый. Можно определить способ внедрения этих стандартов и создать записи, включая условия деловой деятельности и сокращения, релевантные для данного бизнеса. В AEDM данные стандартов именования хранятся в файле стандартов именования (*.nsm). К каждой модели AEDM, в которой используются стандарты именования, необходимо присоединить файл стандартов именования. Один файл стандартов именования можно соотнести с несколькими моделями.

При присоединении файла стандартов именования к модели данных стандарты и правила, определенные в файле, применяются автоматически. Кроме того, файл может использоваться для проверки совместимости имен объектов модели, которая похожа на программу проверки орфографии в текстовом редакторе. Файл стандартов именования используется в качестве cловаря и позволяет сравнить имена в модели данных с именами в cловаре. Если найдено несоответствие, AEDM останавливается и предлагает игнорировать или заменить несовместимое имя.

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

Отображение типов данных

Тип данных - это предварительно определенный набор признаков для атрибута или столбца, который определяет длину поля, допустимые символы и опциональные и обязательные параметры. Например, тип данных char(18) определяет, что в столбце может сохраниться до 18 буквенно-цифровых символов.

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

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

Для определения стандартов отображения типов данных необходимо указать, как логические типы данных отображаются на доступных типах данных для целевого сервера. Если приложения базы данных работают на нескольких серверных платформах, можно отобразить типы данных для всех целевых серверов. В AEDM данные отображения типов данных хранятся в файле стандартов типов данных (*.dsm). К каждой модели AEDM, в которой используются стандарты типов данных, необходимо присоединить файл стандартов типов данных. Если при открытии модели AEDM файл стандартов типов данных не присоединен, используется стандартное отображение типов данных.

Конечно, AEDM позволяет определить стандарты отображения типов данных один раз и применять их к нескольким моделям данных. Чтобы определить файл отображения типов данных, который необходимо применить к текущей модели, выберите пункт Datatypes (Типы данных) и затем пункт Model Datatype Options (Опции типа данных модели) в меню Tools (Инструменты).

Сохранение истории модели

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

Для настройки опций истории выберите пункт Model Properties (Свойства модели) в меню Model (Модель). В диалоге Model Properties (Свойства модели) щелкните на вкладке History Options (Опции истории) и поставьте галочку или снимите ее у опций истории для объектов модели, историю которых требуется сохранить.

Исторические данные можно сохранить для следующих событий:

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

Дополнительная информация


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=1126