Первые шаги с ERwin 4.0 - преобразования

Бен Этлингер (Ben Ettlinger), Управление по энергетике Нью-Йорка

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

Денормализация является этапом реализации базы данных, который используется в целях повышения скорости выполнения запросов или по каким-либо другим причинам. Свертывание (roll up) и развертывание (roll down) супертипов (super type) и подтипов (subtype) являются, возможно, наиболее общими задачами, для которых используется денормализация. Это средство значительно упрощает решение подобных задач.

Преобразования логической модели

  • Разрешение связей многие-ко-многим
  • Свертывание супертипов и подтипов
  • Развертывание супертипов и подтипов
  • Отождествление конструкции супертип/подтип (*)

(*) Это означает превращение конструкции супертип/подтип в отношение(я) "один-ко-многим".

Преобразования физической модели

  • Денормализация свертки
  • Денормализация развертывания
  • Вертикальное разбиение таблиц
  • Горизонтальное разбиение таблиц
  • Денормализация копии связанного столбца

Как можно видеть, ER win предлагает богатые возможности преобразования. В этой статье лишь кратко обсуждается преобразование "многие-ко-многим".

ER win 4.0 позволяет пользователю создать между двумя таблицами связь "многие-ко-многим", а затем с помощью мастера преобразования автоматически создать ассоциативную таблицу, разрешающую эту связь.

При создании в логической модели связи "многие-ко-многим" на панели инструментов преобразования выделяется кнопка мастера преобразования "многие-ко-многим". Поскольку панели инструментов ER win теперь плавающие, эту панель можно расположить в любом месте рабочей области ER win . Однако, сначала нужно включить переключатель видимости панели инструментов преобразования в пункте меню View.Toolbars.

Для разрешения связи "многие-ко-многим" нужно просто щелкнуть кнопку преобразования этой связи, после чего запустится мастер преобразования.

После выполнения четырех или пяти шагов мастера будет построена ассоциативная таблица.

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

Все преобразования, созданные в модели, отображаются в браузере моделей (Model Explorer). Подобно любому другому типу конструкций в браузере моделей ER win , эти преобразования открываются щелчком по значку "+", расположенному рядом с ними в дереве браузера. Ниже приведен пример раскрытого раздела преобразований в браузере моделей.

Заметьте, что в этом примере все преобразования принадлежат к типу "многие-ко-многим" и содержат имена присвоенных им связей. В вышеприведенном примере имена связей типа R/nn, принятые по умолчанию, не изменялись. Это может несколько затруднить понимание, хотя можно открыть дальнейшие ветви преобразований, показав их источник и цель (см. ниже). Это влечет за собой переход еще на два уровня ниже. Надеюсь, разумный пользователь ER win не будет откладывать присвоение имен связям на более поздние стадии процесса моделирования. Активное использование преобразований может также потребовать использования уникальных имен связей. В противном случае могут возникнуть несколько преобразований "многие-ко-многим" с одинаковыми именами. В ER win это не является проблемой. Пользователя может затруднить работа без полностью раскрытых преобразований.

Одним из предложений, помогающих избежать этой проблемы, является присвоение преобразованиям имен, содержащих имена исходных таблиц или имя таблицы, созданной данным преобразованием.

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

Приведенный ниже снимок экрана показывает окно браузера с открытым разделом преобразований, а также с исходными и целевыми таблицами, созданными с помощью этих преобразований. Таблица BUSTERM (условие бизнеса) и таблица RULE связаны отношением "многие-ко-многим". Для создания таблицы BUSTERM_RULE использовался мастер преобразования "многие-ко-многим".

Вышеприведенный пример показывает полностью раскрытые детали преобразования в браузере моделей. Исходный объект ссылается на исходную связь "многие-ко-многим", заданную словесной формулой "применяется к" (apply to). К целевым объектам относится новая ассоциативная таблица, созданная мастером (синий значок слева от имени), а также следующие за ней родительские таблицы (коричнево-желтые значки) связи "многие-ко-многим". В браузере моделей не показываются новые имена связей.

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

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

Другие статьи серии:


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