
- •Работа №6 Автоматизированное проектирование баз данных на основе метода er-диаграмм.
- •1. Общие сведения об AllFusion Erwin Data Modeler 4.1.
- •1.1. Структура процесса моделирования в Erwin.
- •1.2. Создание логической модели бд.
- •1.2.1. Сущности и атрибуты
- •1.2.2. Связи
- •1.3. Создание физической модели и генерация схемы бд.
- •1.4. Уровни отображения er-диаграммы.
- •1.5. Прямое и реверсное проектирование.
- •2. Примеры разработки модели бд с помощью eRwin
- •2.1. Прямое проектирование
- •2.1.1. Постановка задачи
- •2.1.2. Создание логической модели бд
- •2.1.3. Создание физической модели бд и генерация схемы бд
- •2.2. Реверсное проектирование.
- •Упражнение №1
- •Контрольное задание.
- •Требования к отчету:
- •Контрольные вопросы:
1.4. Уровни отображения er-диаграммы.
Кроме того, что модель данных в ERwin может быть представлена на логическом или физическом уровне, на каждом из них соответствующая диаграмма предусматривает несколько уровней отображения (Display Level), акцентирующих внимание на различных аспектах модели данных. Для логической модели предусмотрены пять уровней отображения:
1. Уровень сущностей (Entity Display Level) служит для удобства обзора большой диаграммы или размещения прямоугольников сущностей на диаграмме. В этом представлении внутри прямоугольников отображаются только имена.
2. Уровень атрибутов (Attribute Display Level) предназначен для детализации информации о сущностях путем задания. В этом представлении прямоугольник делится линией на две части: в верхней части отображаются атрибуты, составляющие первичный ключ, а в нижней − остальные атрибуты. Имя сущности вводится над прямоугольником.
3. Уровень первичных ключей (Primary Key Display Level) − внутри прямоугольников-сущностей показываются только атрибуты, составляющие первичный ключ.
4. Уровень описания сущностей (Definition Display Level) − внутри прямоугольников-сущностей приводится краткое описание каждой сущности.
5. Уровень пиктограмм (Icon Display Level) используется для презентационных целей. В каждом прямоугольнике, кроме имени сущности, содержится пиктограмма.
Физическая модель предусматривает семь уровней отображения, из которых два используются при проектировании хранилищ данных (нотация DM − Dimensional Modeling) и будут рассмотрены позже:
1. Уровень таблиц (Table Display Level) − аналог уровня сущностей для логической модели. Внутри прямоугольников отображаются только имена таблиц.
2. Уровень столбцов (Column Display Level) − аналог уровня атрибутов для логической модели, предназначен для детализации информации о сущностях. В верхней части прямоугольников отображаются столбцы первичного ключа, а в нижней − неключевые столбцы. Идентификатор таблицы вводится над прямоугольником.
3. Уровень первичных ключей (Primary Key Display Level in the Physical Model) − внутри прямоугольников показываются только столбцы, входящие в состав первичного ключа.
4. Уровень комментариев (Comment Display Level) − внутри прямоугольников выводятся комментарии к таблицам.
5. Уровень физического упорядочивания (Physical Order Display Level) используется для мониторинга физической структуры базы данных. Расположение столбцов в прямоугольниках полностью соответсвует порядку их следования в физической базе данных.
Переключение между уровнями отображения ER-диаграмм производится путем выбора пунктов меню Display Level, получить доступ к которому можно через меню Format или всплывающее меню, появляющееся при нажатии правой клавиши мыши на пустом месте диаграммы.
1.5. Прямое и реверсное проектирование.
Прямое проектирование (Forward Engineer) − преобразование модели данных в схему базы данных.
Реверсное проетирование (Reverse Engineer) − создание модели данных на основе имеющейся схемы базы даных.
При реверсном проектировании модель данных восстанавливается, исходя из информации о системном каталоге СУБД, и может быть использована для создания схемы базы данных, ориентированной на другую СУБД. Таким образом, ERwin не только обеспечивает генерирование схем для разных СУБД по разработанной модели данных, но и поддерживает конвертирование одной схемы в другую.
В следующей таблице приведены критерии, которые используются в ERwin для определения первичных ключей, внешних ключей и связей при реверсном проектировании:
Элемент БД |
Правило вывода |
Первичный ключ |
Если таблица содержит один индекс, который определен как уникальный или первичный для этой таблицы. |
Связь |
Вывод из индексов (Infer from Indexes): Если для таблицы определен индекс, который включает те же элементы и в том же порядке, что и индекс первичного ключа в другой таблице, а также содержит столбцы, не входящие в первичный ключ. Вывод из имен (Infer from Names): Если для таблицы определен индекс, который имеет то же имя, что и индекс, определенный как первичный ключ в другой таблице. |
Независимая/Зависимая таблица |
Большее количество стобцов в индексе соотвтетствует зависимой таблице, а меньшее количество столбцов в индексе − независимой таблице. |
Внешний ключ |
Часть столбцов в индексе зависимой таблицы, соотвтетствующие первичному ключу независимой таблицы, образуют внешний ключ. |
Идентифицирующая/ Неидентифициующая связь |
Связь − неидентифициующая, если индексные столбцы не входят в состав первичного ключа зависимой таблицы, в противном случае связь − идентифициующая. |
Следует помнить, что, как правило, эти критерии позволяют корректно определить первичные и внешние ключи и идентифицировать связи, однако они не дают полной гарантии, что полученная в результате модель будет полностью соответствовать источнику.
ERwin позволяет также производить выборочную вставку объектов, получаемых в процессе реверсного проектирования, в уже существующую модель. Для этого предназначен мастер Complete Compare Wizard (меню Tools/Complete Compare). С помощью этого же средства можно отслеживать соответствие между моделью данных и схемой базы данных на протяжении всего цикла разработки.