Tuesday, October 21, 2008
ErWin v7 Key
AllFusion ERwin Data Modeler
Versions:7.1.0.1075
3 comments:
Assalam o Alaikum
Brother, Thanks for this key, since You never told how to get this v7 version?

thanks a lot for the key dear
I love this post, and I was absolutely thrilled to see the other links that you published that go along with this topic. Thank you for sharing your thoughts. I am happy to be a new follower. 🙂
2.2.5. Ключи
Каждый экземпляр сущности должен быть уникален и отличаться от других атрибутов.
Первичный ключ (primary key) — это атрибут или группа атрибутов, однозначно идентифицирующая экземпляр сущности. Атрибуты первичного ключа на диаграмме не требуют специального обозначения — это те атрибуты, которые находятся в списке атрибутов выше горизонтальной линии (см., например, рис. 2.33). При внесении нового атрибута в диалоге Attribute Editor для того, чтобы сделать его атрибутом первичного ключа, нужно включить флажок Primary Key в нижней части закладки General. На диаграмме неключевой атрибут можно внести в состав первичного ключа, воспользовавшись режимом переноса атрибутов (кнопка

Выбор первичного ключа может оказаться непростой задачей, решение которой может повлиять на эффективность будущей ИС. В одной сущности могут оказаться несколько атрибутов или наборов атрибутов, претендующих на роль первичного ключа. Такие претенденты называются потенциальными ключами (candidate key).
Ключи могут быть сложными, т. е. содержащими несколько атрибутов. Сложные первичные ключи не требуют специального обозначения — это список атрибутов выше горизонтальной линии:"
Рассмотрим кандидатов на первичный ключ сущности Сотрудник (рис. 2.41).
Здесь можно выделить следующие потенциальные ключи:
1. Табельный номер,
2. Номер паспорта;
3. Фамилия + Имя + Отчество.

Рис. 2.41. Определение первичного ключа для сущности "Сотрудник"
Для того чтобы стать первичным, потенциальный ключ должен удовлетворять ряду требований:
Уникальность. Два экземпляра не должны иметь одинаковых значений возможного ключа. Потенциальный ключ № 3 (Фамилия + Имя + Отчество) является плохим кандидатом, поскольку в организации могут работать полные тезки.
Компактность. Сложный возможный ключ не должен содержать ни одного атрибута, удаление которого не приводило бы к утрате уникальности. Для обеспечения уникальности ключа № 3 дополним его атрибутами Дата рождения и Цвет волос. Если бизнес-правила говорят, что сочетания атрибутов Фамилия + Имя + Отчество + Дата рождения достаточно для однозначной идентификации сотрудника, то Цвет волос оказывается лишним, т. е. ключ Фамилия + Имя + Отчество + Дата рождения + Цвет волос не является компактным.
При выборе первичного ключа предпочтение должно отдаваться более простым ключам, т. е. ключам, содержащим меньшее количество атрибутов. В примере ключи № 1 и 2 предпочтительней ключа № 3.
Атрибуты ключа не должны содержать нулевых значений. Если допускается, что сотрудник может не иметь паспорта или вместо паспорта иметь какое-либо другое удостоверение личности, то ключ № 2 не подойдет на роль первичного ключа. Если для обеспечения уникальности необходимо дополнить потенциальный ключ дополнительными атрибутами, то они не должны содержать нулевых значений. Дополняя ключ № 3 атрибутом Дата рождения, нужно убедиться в том, что даты рождения известны для всех сотрудников.
Значение атрибутов ключа не должно меняться в течение всего времени существования экземпляра сущности. Сотрудница организации может выйти замуж и сменить как фамилию, так и паспорт. Поэтому ключи № 2 и 3 не подходят на роль первичного ключа.
Каждая сущность должна иметь по крайней мере один потенциальный ключ. Многие сущности имеют только один потенциальный ключ. Такой ключ становится первичным. Некоторые сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные — альтернативными ключами. Альтернативный ключ (Alternate Key) — это потенциальный ключ, не ставший первичным. ERwin позволяет выделить атрибуты альтернативных ключей, и по умолчанию в дальнейшем при генерации схемы БД по этим атрибутам будет генерироваться уникальный индекс.
При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности, объединенным каким-либо одним признаком. Для повышения производительности в этом случае используются неуникальные индексы. ERwin позволяет на уровне логической модели назначить атрибуты, которые будут участвовать в неуникальных индексах. Атрибуты, участвующие в неуникальных индексах, называются Inversion Entries (инверсионные входы). Inversion Entry — это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используются для обращения к экземплярам сущности. ERwin генерирует неуникальный индекс для каждого Inversion Entry.
Создать альтернативные ключи и инверсионные входы можно в закладке Key Group диалога Attribute Editor (рис. 2.42). Если щелкнуть по кнопке . расположенной в правой верхней части закладки, вызывается диалог Key Group Editor (рис. 2.43). В верхней части диалога находится список ключей, в нижней — список атрибутов, доступных для включения в состав ключа (слева), и список ключевых атрибутов. Каждый вновь созданный ключ должен иметь хотя бы один атрибут. Для включения атрибута в состав ключа следует выделить его в левом списке и щелкнуть по кнопке .

Рис. 2.42. Закладка Key Group диалога Attribute Editor

Рис. 2.43. Диалог Key Group Editor
Для создания нового ключа следует щелкнуть по кнопке New. Появляется диалог New Key Group (рис. 2.44). Имя нового ключа присваивается автоматически ("Alternate Key N" для альтернативного ключа и "Inversion Entry N" для инверсионного входа, где N — порядковый номер ключа).

Рис. 2.44. Диалог New Key Group
Каждому ключу соответствует индекс, имя которого также присваивается автоматически ("XAKNENTITY" для альтернативного ключа и " XIENENTITY" для инверсионного входа, где N — порядковый номер ключа, ENTITY — имя сущности). Имена ключа и индекса при желании можно изменить вручную.

Рис. 2.45. Сущность "Сотрудник" с отображением ключей
На диаграмме атрибуты альтернативных ключей обозначаются как (AKn.m), где n — порядковый номер ключа, m — порядковый номер атрибута в ключе. Когда альтернативный ключ содержит несколько атрибутов, (AKn.m) ставится после каждого. На рис. 2.45 атрибуты Фамилия, Имя, Отчество и Дата рождения входят в альтернативный ключ № 1 (АК1), Номер паспорта составляет альтернативный ключ № 2 (АК2). Инверсионные входы обозначаются как (IEn.m), где n — порядковый номер входа, m -порядковый номер атрибута. Инверсионный вход IE1 (атрибут Должность) позволяет выбрать всех сотрудников, занимающих одинаковую должность, IE2 (атрибуты Город и Улица) — всех сотрудников, живущих на одной улице, IE3 (атрибут Номер комнаты) — всех сотрудников, работающих в одной комнате, a IE4 (атрибут Дата рождения) — всех сотрудников, родившихся в один день. Если один атрибут входит в состав нескольких ключей, ключи перечисляются в скобках через запятую (атрибут Дата рождения входит в состав АК1 и IE4). По умолчанию номера альтернативных ключей и инверсионных входов рядом с именем атрибута на диаграмме не показываются. Для отображения номера следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Entities и затем включить опцию Alternate Key Designator (AK).
Внешние ключи (Foreign Key) создаются автоматически, когда связь соединяет сущности: связь образует ссылку на атрибуты первичного ключа в дочерней сущности и эти атрибуты образуют внешний ключ в дочерней сущности (миграция ключа). Атрибуты внешнего ключа обозначаются символом (FK) после своего имени (см. рис. 2.45). Атрибут внешнего ключа Где работает. Номер отдела ("Где работает" — имя роли) является атрибутом первичного ключа (РК) в сущности Отдел.
Зависимая сущность может иметь один и тот же внешний ключ из нескольких родительских сущностей. Сущность может также получить один и тот же внешний ключ несколько раз от одного и того же родителя через несколько разных связей. Когда ERwin обнаруживает одно из этих событий, он распознает, что два атрибута одинаковы, и помещает атрибут внешнего ключа в зависимой сущности только один раз. Хотя в закладке Key Group диалога Attribute Editor этот атрибут будет входить в два внешних ключа, на диаграмме он показывается только один раз. Это комбинирование или объединение идентичных атрибутов называется унификацией.
Унификация производится, поскольку правила нормализации запрещают существование в одной сущности двух атрибутов с одинаковыми именами. В некоторых случаях (рис. 2.46) этот результат соответствует действительности. Сотрудники работают в отделах, каждый сотрудник ведет несколько проектов. Сущность Отдел связана идентифицирующей связью с сущностью Сотрудник и Проект, ее первичный ключ Номер отдела мигрирует в состав первичного ключа дочерних сущностей в качестве внешнего ключа. Но сущность Сотрудник, в свою очередь, тоже имеет идентифицирующую связь с сущностью Проект и атрибуты ее первичного ключа (в том числе Номер отдела — второй раз!) мигрируют в состав первичного ключа сущности Проект.

Рис. 2.46. Унификация атрибута
По смыслу это одно и то же значение номера отдела, поскольку в отделе реализуется проекты, которые ведут сотрудники того же отдела. ERwin унифицирует атрибуты и отображает на диаграмме только один атрибут Номер отдела.
Есть и другие случаи, когда унификация нежелательна. Например, когда два атрибута имеют одинаковые имена, но на самом деле они отличаются по смыслу и необходимо, чтобы это отличие отражалось в диаграмме. В этом случае необходимо использовать имена ролей атрибутов внешнего ключа (см. рис. 2.27).
Для того, чтобы запустить ERwin Data Model Validator r7 необходимо скачать архив с библиотеками и распоковать его в папку с программой по умолчанию C:Program FilesCAAllFusion Data Model Validator r7.
В ERwin существует механизм свойств, определенных пользователем (UDP — user defined property). UDP позволяют расширить функциональность продукта, внести дополнительные комментарии и определения. Пример применения UDP для предоставления привилегий пользователям на выборку (select) из таблицы можно найти в заключительной части статьи А.Козодаева "Использование языка макрокоманд в AllFusion ERwin Data Modeler"
В Process Modeler в словаре сущностей и в словаре атрибутов установите флажок "Exchange with ERwin". После этого пункт меню FileExportERwin в Process Modeler станет активным.
Начиная с версии 7.1 sp1 ERwin поддерживает технологию обмена метаданными с другими популярными средствами, включая среды моделирования. Для обмена метаданными между ERwin и такими средствами, как Rational Data Architect, Oracle Designer, Sybase Power Designer следует использовать: для импорта — Мастер импорта ERwin (меню FileImportFrom External Format), для экспорта — Мастер экспорта ERwin (меню FileExportTo External Format).
AllFusion ERwin Data Modeler 7 работает под MS Windows 2000, XP (SP2), 2003, Vista.
Используйте имеющийся в ERwin инструмент Complete Compare (полное сравнение). Сравнивайте ERwin-модель и базу. Все или только указанные вами изменения ERwin внесен прямо в базу или сгенерирует SQL-скрипт на изменения базы.
Процесс лицензирования в новой версии упростился. Достаточно запустить программу CALicnse.exe и ввести 25-значный ключ. Ключи могут быть триальными и постоянными. При регистрации триальными ключами продукт работает в полнофункциональном режиме 30 дней, затем прекращает запускаться. Для регистрации новой версии 7 продукта не подходят ключи от версии 4. За новыми ключами обращайтесь в компанию Интерфейс Ltd. по адресу mail@interface.ru.
В AllFusion ERwin Data Modeler 7 в Редактор Стандартов Именования (Naming Standards Editor) в закладке Glossary добавлена опция "Match whole words only". Теперь можно выбирать, выполнять ли автоматическую замену на аббревиатуры только при совпадении целого слова или подставлять аббревиатуру при совпадении лишь части слова.
Способы сокращения операций при обратном инжиниринге с ERwin:
- Урезать источник обратного проектирования (каталог БД или SQL-скрипт).
- Уменьшить число объектов, на основании которых будет строиться модель данных. Для этого зайти в меню ToolsReverse Engineer, установить настройки обратного проектирования в диалоге Reverse Engineer-Set Option в разделе Items to Reverse Engineer. В этом же диалоге в разделе OptionsReverse Engineer вы можете указать, включать ли системные объекты в модель, а также установить фильтр на извлекаемые таблицы по их владельцу.
Если требуется просто урезать число объектов в модели, получаемой при обратной генерации, то можно использовать Complete Compare базы данных и пустой модели. В версии 7 выбрать список объектов для сравнения в Мастере Complete Compare, закладке "LeftRight Object Selection", запустить на сравнение. Когда появится окно Resolve Differences, выбрать, какие именно объекты БД перенести в пустую модель.
В версии 4.1.4 имя индекса в физической модели по умолчанию формировалось с помощью 2 макросов ERwin и имело вид X%KeyType%TableName . В версиях 7 и 7.1 имя индекса в физической модели по умолчанию наследуется с логического уровня с помощью макроса %KeyName. Изменить правила автоматического формирования индексов в физической модели можно через меню toolsNamesModel Naming OptionsName.
ERwin не отображает на одной диаграмме объекты из разных баз данных. Однако, есть 2 возможности:
- Открыть несколько окон с моделями для разных БД
- Использовать возможность слияния ModelMart Merge. Это позволит слить в одну модель объекты из разных моделей.
При генерации схемы физической базы данных ERwin автоматически создает отдельный индекс на основе первичного ключа каждой таблицы, а также на основе всех альтернативных ключей, внешних ключей и инверсионных входов, поскольку эти колонки наиболее часто используются для поиска данных. Можно отказаться от генерации индексов по умолчанию.
Просмотреть и заменить установки по умолчанию для генерации индексов можно через главное меню/Forward Engineer/ закладка Option /Index. Изменить существующий индекс или создать новый можно в редакторе Indexes. Для его вызова следует щелкнуть правой кнопкой мыши по таблице и выбрать во всплывающем меню пункт Indexes.
Не меняя шрифты в модели ERwin, просто измените 2 значения в реестре Windows (start/RUN набрать команду regedit) в: HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Nls / CodePage :
- для 1250 : Value data = c_1251.nls
- для 1252 : Value data = c_1251.nls
Да. Существует ряд линков, которые автоматизируют процесс обмена моделями между AllFusion ERwin Data Modeler и CASE-средствами других компаний, такими как Oracle, Rational, Sybase и др., а также расширяют возможность интеграции продукта со средами разработки, основанными на репозиториях. Более подробно см. http://www.interface.ru/ca/data_models_exchange.htm
ERwin Data Modeler 4.х поддерживает миграцию по связи первичного ключа или альтернативного ключа. Миграция по связи инверсного входа не поддерживается.
Однако, на физическом уровне модели можно использовать трансформацию "Скопировать колонку и связать" (Column Denormalization — Transform to Copy and Link Two Columns). Данная трансформация позволяет скопировать колонку с ее свойствами из одной таблицы в другую таблицу и связать колонки. Обе колонки синхронизированы в одну сторону: при изменении свойств колонки-источника меняются свойства скопированной колонки, однако, при изменении свойств скопированной колонки свойства колонки-источника не меняются. В этом случае вы обеспечите синхронное изменение скопированной колонки при изменении исходной колонки (например: имя, тип колонки).
Установите требуемый драйвер, пропишите его в настройках принтера ERwin (меню File/Print Setup), не забудьте указать подходящий размер листа. Запустите из ERwin печать всей диаграммы модели или только выбранных листов. В результате вместо 16*17 листов А4 получите меньшее число листов требуемого формата.
Каждая Сущность в модели процессов принадлежит модели данных, с которой она синхронизирована. Поэтому одна модель процессов может быть синхронизирована с множеством моделей данных, но каждая сущность в модели процессов синхронизируется только с одной моделью данных.
Возможно, но не рекомендуется, синхронизировать одну модель данных с множеством моделей процессов, т.к. ERwin не хранит данные о синхронизации (Данные о синхронизации хранит BPwin).
Для поддержки двунаправленных связей BPwin поддерживает форматы .eax (ERwin-to-BPwin) и .bpx (BPwin to ERwin) для ERwin 3.5.2 и ERwin 4.1
Да, с помощью ERwin вы можете создать новую базу.
- Создайте прескрипт уровня модели, необходимый для создания новой базы, например:
USE master
GO
CREATE DATABASE T_TEST_ERwin
ON
( NAME = T_TEST_ERwin_dat,
FILENAME = ‘c:program filesmicrosoft sql servermssqldataT_TEST_ERwin.mdf’ )
GO
USE T_TEST_ERwin
GO - Дополните ERwin-модель таблицами, колонками, хранимыми процедурами, .
- Запустите в ERwin прямую генерацию. В опциях генерации не забудьте указать, какие объекты модели генерировать: . прескрипт, таблицы,…
- ERwin откроет окно подключения к базе данных. Укажите параметры подключения к любой (. ) существующей базе данных на сервере.
- ERwin сгенерирует новую базу и сгенерирует в ней объекты, определенные в ERwin-модели.
Нет. ERwn не накладывает ограничения на количество элементов модели. Можно создавать любое число сущностей, атрибутов, sub areas и т.д. Однако, нужно помнить, что конкретная СУБД накладывает свои ограничения, например, Oracle поддерживает до 256 колонок в таблице.
Для автоматического переименования вторичных (мигрирующих) ключей таблицы, связанной с таблицей, в которой переименовали первичный ключ на физическом уровне:
- переименовать первичный ключ в исходной таблице,
- щелкнуть по исходной таблице правой кнопкой мышки;
- войти в "physical column editor";
- щелкнуть по кнопке Reset в левом нижнем углу окна;
- в диалоге "Reset Column Properties Dialog":
- для "Remove overr >
После установка демо версии AllFusion ERwin Data Modeler, например, в C:Program FilesCAAllFusion ERwin Data Modeler документацию по ERwin API можно найти в C:Program FilesCAAllFusion ERwin Data ModelerDoc:
- E000602E.pdf — ERwin API Reference Gu >
1-ый вариант решения проблемы
Исходная модель. Ключ перегружен атрибутами.
Для разгруки ключа изменяем связь между сущностями НАСЕЛЕННЫЙ-ПУНКТ и УЛИЦА на неидентифицируемую связь. Модель разгружается по первичному ключу (Рисунок 1).
2-ой вариант решения проблемы
1 шаг Вводим новый атрибут в сущность НАСЕЛЕННЫЙ ПУНКТ (Рисунок 2)
И делаем его альтернативным ключом (Рисунок 3)
В результате получаем следующую структуру сущности НАСЕЛЕННЫЙ-ПУНКТ (Рисунок 4)
2-ой шаг. Выделяем связь между сущностями НАСЕЛЕННЫЙ-ПУНКТ и УЛИЦА (Рисунок 5)
В результате получаем окончательный вариант (Рисунок 6)
При втором варианте все связи остаются идентифицируемыми.
Для того, чтобы переключиться с логической модели на физическую необходимо произвести соответствующий выбор в выпадающем списке панели инструментов:
Если этот выподающий список неактивен, то вы при создании модели выбарали "Logical":
Теперь произведите действия, указанные в начале.





