- •Введение
- •Функциональные возможности AllFusion ERwin DM 7.2
- •Инструментальная среда AllFusion ERwin DM
- •Интерфейс AllFusion ERwin DM 7.2
- •Уровни отображения модели (Display Level)
- •Подмодели (Subject Area).
- •Хранимые отображения (Stored Display)
- •Навигатор модели (Model Explorer)
- •Журнал изменений модели (Action Log)
- •Русификация ERwin DM
- •Поддерживаемые методологии: IDEF1X, IE, DM
- •Краткая характеристика методологий
- •Особенности методологий IDEF1X и IE
- •Панель инструментов для добавления объектов в модель данных
- •Разработка и поддержка баз данных с ERwin DM
- •Начало создания модели в AllFusion ERwin DM
- •Уровни модели данных
- •Создание логического уровня модели
- •Сущности
- •Атрибуты
- •Связи
- •Связи идентифицирующие и неидентифицирующие
- •Связь "многие ко многим"
- •Типы зависимых сущностей
- •Иерархия категорий (иерархия наследования).
- •Ключи
- •Домены
- •Нормализация и денормализация
- •Создание физического уровня модели
- •Выбор сервера
- •Таблицы
- •Колонки
- •Представления (View)
- •Материализованные представления (materialized view)
- •Правила валидации и значения по умолчанию
- •Индексы
- •Задание объектов физической памяти
- •Триггеры и хранимые процедуры
- •Скрипты «до и после генерации»
- •Прямая генерация
- •Обратная генерация
- •Сравнение и синхронизация с Complete Compare
- •Уровни проектирования
- •Трансформация
- •Документирование моделей данных в ERwin DM
- •Создание отчетов с помощью Report Template Builder
- •Создание отчетов с помощью Data Browser
- •Практическая работа с ERwin Data Modeler
- •1. Создание концептуальной модели данных
- •2. Порождение новой модели из концептуальной
- •3. Проработка модели на уровне первичных ключей
- •4. Автотрансформация связей «многие ко многим»
- •5. Доработка модели до полно атрибутивной модели
- •6. Проработка физического уровня модели
- •7. Генерация каталога базы данных из модели данных
- •8. Обратная генерация каталога базы данных в модель
- •9. Сравнение и синхронизация каталога базы данных и модели
- •10. Документирование модели данных
- •Опись созданных файлов
- •Задание для самостоятельной работы
- •Литература и источники
ке свойства Документ). Если у сущности требуется изменить значение свойства типа List, например, свойство Важность (рис. 35), можно, либо ввести одно из допустимых значений в строке ввода, либо просто выбрать значение из списка допустимых значения. В последнем варианте следует сначала щелкнуть мышкой по строке ввода значения свойства, затем щелкнуть по появившемуся значку и выпавшем списке выбрать требуемое значение свойства.
С помощью закладки Icon каждой сущности можно поставить в соответствие картинку, которая будет отображаться в режиме просмотра модели на уровне иконок. В этой закладке можно задать как большую иконку, которая будет отображаться на уровне Icon, так и малую иконку, которая может отображаться на всех уровнях просмотра модели. Для связывания изображения с сущностью необходимо щелкнуть по кнопке , в появившемся диалоге Icons щелкнуть по кнопке Import и выбрать соответствующий файл формата BMP. После выбора иконки она отображается во вклад-
ке Icon диалога Entities (рис. 36).
Рис. 36. Закладка Icon диалога Entities.
ERwin DM автоматически сохраняет историю всех изменений, связанных с объектами (сущностями, атрибутами, таблицами, колонками и т.д.). В закладке History диалога Entities (рис. 37) отображается список изменений. Каждому изменению в окне Comment можно дать комментарий.
Атрибуты
Как было указано выше, каждый атрибут хранит информацию об определенном свойстве сущности, а каждый экземпляр сущности должен быть уникальным. Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для описания атрибутов
44
следует, щелкнув правой кнопкой по сущности, выбрать в появившемся меню пункт Attributes. Появляется диалог Attributes (рис. 38).
Рис. 37. Закладка History диалога Entities.
Рис. 38. Закладка General диалога Attributes.
45
Если щелкнуть по кнопке New, то в появившемся диалоге New Attribute можно указать имя атрибута, имя соответствующей ему в физической модели колонки и домен. Домен атрибута будет использоваться при определении типа колонки на уровне физической модели.
Для атрибутов первичного ключа в закладке General диалога Attributes необходимо сделать пометку в окне выбора Primary Key. Для наглядности диаграммы каждый атрибут можно связать с иконкой из выпадающего списка Icon в закладке General. Если имеющихся в списке графических изображений недостаточно, следует воспользоваться кнопкой , расположенной справа от списка выбора. В результате откроется диалог Icons (рис. 39). Щелкнув по кнопке Import, можно добавить в список необходимую иконку. Чтобы отобразить на диаграмме иконки атрибутов следует, во-первых, перейти на уровень атрибутов (меню Format/Display Level/Attribute), во-вторых, установить режим отображения иконок для ат-
рибутов (меню Format/Entity Display/Attribute Icon).
Рис. 39. Диалог Icons.
Закладка Definition диалога Attributes позволяет записывать определения отдельных атрибутов. Определения атрибутов можно также автоматически сгенерировать как часть схемы (CREATE COMMENT on entity_name.attribute name).
Закладка Note позволяет добавлять замечания об одном или нескольких атрибутах сущности, которые не вошли в определения.
В закладке History отображается история создания и изменения атрибутов.
Закладка UDP служит для задания значений свойств, определяемых пользователем. Предварительно эти свойства должны быть внесены в диалог User Defined Property как свойства атрибутов.
46
Закладка Key Group (рис. 40) позволяет включить атрибут в состав первичного, альтернативного или инверсного ключа.
Рис. 40. Закладка Key Group диалога Attributes.
На диаграмме IDEF1X сущность и атрибуты отображаются следующим образом (рис. 41): имя сущности показывается над прямоугольником, изображающим сущность, список атрибутов сущности - внутри прямоугольника. Список разделен горизонтальной чертой, выше которой расположены атрибуты первичного ключа, ниже - неключевые атрибуты.
Рис. 41. Отображение сущности и атрибутов.
Очень важно дать атрибуту правильное имя. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение. Соблюдение этого правила позволяет частично решить проблему нормализации данных уже на этапе определения атрибутов. Например, создание в сущности Сотрудник атрибута Телефоны Сотрудника противоречит требованиям нормализации, т.к. атрибут должен быть атомарным, т.е. не содержать множественных значений. Согласно синтаксису IDEF1X имя атрибута должно быть уникально в рамках модели (а не только в рамках сущности!); следовательно, новый атрибут, если его имя совпадает с уже существующим, должен быть переименован. На практике такое переиме-
47
нование не всегда удобно, поэтому по умолчанию эта опция выключена, однако в случае необходимости ее можно включить.
Для настройки правил уникальности имен модели (не только имен атрибутов) используют закладку Duplicate Names диалога Model Naming Options (меню Tools/Names/Model Naming Options) (рис. 42) Можно задать следующие режимы именования:
Рис. 42. Диалог Model Naming Options.
Allow duplicate name – позволить использование одинаковых имен (опция по умолчанию).
Automatically Rename duplicate names – автоматически переимено-
вывать атрибут (сущность) при попытке внесения уже существующего имени атрибута, при этом к имени атрибута добавляется число. Например, если атрибут Имя уже существует в модели, то при добавлении новых атрибутов Имя в ту же или в другую сущность они будут автоматически переименованы: Имя_2, затем Имя_3 и т.д.
Ask – запрашивать возможные действия каждый раз при внесении одноименных атрибутов (сущности). ERwin DM будет показывать на экране диалог Unique Name каждый раз, когда вводится неуникальное имя сущности или атрибута. В диалоге Unique Name можно ввести другое имя или разрешить дублирование (рис. 43). Новое имя уже не проверяется на уникальность.
Disallow duplicate names – запретить внесение одинаковых имен. При попытке использовать уже существующее имя ERwin DM сам производит переименование, чтобы обеспечить уникальность имен в модели.
48