Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabBD4_PM_CA_2017_04_25[1].doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.49 Mб
Скачать

4.2.2.2 Case-система Erwin

Общие сведения о CASE-системе Erwin

Система ERwin – это программное средство из категории т.н. CASE (Computer-Aided Software Engineering)-систем для моделирования и проектирования баз данных (БД).

Система ERwin поддерживает процесс проектирования модели данных, генерацию схемы БД на языке SQL для целевой системы управления базы данных (СУБД). Такими СУБД могут быть ORACLE, Informix, InterBase, Ingres, Sybase, DB/2 IBM, Microsoft SQL Server, Progress, Access и некоторые др. Система Erwin позволяет также проводить реинжиниринг (reengineering) существующей БД.

Сама аббревиатура названия системы - ERwin – указывает на то, что в основу ее функционирования положено представление о ER (Entity-Relationalship)-модели данных или модели «сущность-связь». Основным объектом работы пользователя системы являются модели данных в виде ER-диаграмм.

Применение системы ERwin существенно повышает эффективность разработки информационных систем. Среди основных преимуществ его использования можно назвать:

  • повышение скорости разработки за счет мощного редактора ER-диаграмм, автоматической генерации схемы БД, автоматической подготовки документации;

  • возможность легко вносить изменения в модель данных при разработке и расширении системы;

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

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

  • предоставление концептуальной схемы, независимой от типа используемой СУБД, которая используется затем для генерации схемы данных для конкретной СУБД. Таким образом, одна и та же диаграмма ERwin может быть использована для генерации нескольких реляционных схем для различных СУБД.

Основная функциональность системы ERwin и технология ее использования

Модели данных в классической теории БД

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

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

Так как стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Поэтому одной и той же логической модели могут соответствовать несколько физических моделей в зависимости от выбора конкретной СУБД. Если в логической модели не имеет значения, на каком типе данных определен атрибут, то в физической модели важно описать всю информацию о конкретных объектах (таблицах, колонках, индексах, процедурах и т. д.) в синтаксисе целевой СУБД.

Модели данных в ERwin

Система ERwin имеет два уровня представления модели – логическая модель (logical model) и физическая модель (physical model).

Прим. С точки зрения классической теории моделирования данных в СУБД логическая модель системы ERwin представляет собой т.н. КОНЦЕПТУАЛЬНЫЙ уровень описания данных (Conceptual level), а также включает некоторые элементы классического ЛОГИЧЕСКОГО уровня (Logical level), а именно, позволяет проводить логическое моделирование по приведению концептуальной модели к реляционной модели (например, проводить нормализацию сущностей), а физическая модель системы ERwin включает в себя т.н. классический ЛОГИЧЕСКИЙ уровень (на этом уровне можно также проводить нормализацию, а также при переходе к этой модели Erwin автоматически решает проблему связей «многие-ко-многим», которые не поддерживаются реляционными СУБД) и элементы классического ФИЗИЧЕСКОГО уровня (Physical level ) (учитываются типы данных, и другие особенности целевой СУБД).

Таблица 4.1 – Соответствие между моделями данных в Erwin и моделями классического проектирования БД

Модели в классической теории БД

Концептуальная модель

Логическая модель

Физическая модель

Модели в Erwin

Логическая модель

Физическая модель

На основе логической модели Erwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering). Еrwin также способен по содержимому системного каталога или SQL-скрипту воссоздать логическую модель данных, этот процесс называется Reverse Engineering.

Создание логической модели данных Erwin (по классической теории концептуальная модель и не полная логическая)

Создание сущностей, атрибутов и связей

Основными компонентами ER-диаграмм являются сущности, связи и атрибуты. Для создания сущностей и связей применяется Палитра инструментов – ERwin Toolbox (табл.4.2).

Для создания сущности необходимо воспользоваться кнопкой “Entity”, находящейся на панели инструментов. Выбрав данную кнопку и щелкнув мышкой на пустом поле, получим экземпляр сущности. В выделенном поле необходимо ввести название сущности – напр., «Student» (по умолчанию ее имя “Е/1”).

Таблица 4.2 – Кнопки ERwin Toolbox

Название кнопки

Назначение

Select

Выбрать объекты для копирования, удаления или дальнейшего редактирования.

Всегда переходите в этот режим после редактирования объекта

Entity

Создать новую независимую сущность

Complete sub-category

Создать полную подкатегорию

Identifying relationship

Создать идентифицирующую связь между двумя сущностями

Non-indentifying relationship

Создать не идентифицирующую связь между двумя сущностями

Many-to-many relationship

Создать неопределенную связь (многие ко многим) между двумя сущностями

Для определения атрибутов необходимо щелкнуть правой кнопкой мыши по соответствующей сущности и выбрать пункт меню “Attribute Editor” (для вызова окна “Attribute Editor” можно также воспользоваться двойным щелчком на сущности). В появившемся окне необходимо задать имя атрибута, его тип, если атрибут является ключом, то поставить птичку в соответствующем поле.

ERwin позволяет устанавливать различные типы связи между сущностями. На концептуальном уровне можно установить идентифицирующую связь “один-ко-многим”, связь “многие-ко-многим” и неидентифицирующую связь “один-ко-многим”. В использовавшейся нотации IDEFIX различаются зависимые (слабые) и независимые (сильные) сущности, причём тип сущности определяется её связью с другими сущностями.

Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. При установлении такой связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция называется миграцией атрибутов. В дочерней сущности атрибуты помечаются как внешний ключ (Foreign Key) – (FK).

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

Для редактирования свойств связи следует "кликнуть" правой кнопкой мыши по связи и выбрать на контекстном меню пункт Relationship Editor.

В закладке General появившегося диалога можно задать мощность, имя и тип связи.

Мощность связи (Cardinality) - служит для обозначения отношения чис­ла экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа мощности (рис. 4.16):

  • общий случай, когда одному экземпляру родительской сущности соот­ветствуют 0, 1 или много экземпляров дочерней сущности не помечает­ся каким-либо символом;

  • символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

  • символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исклю­чены множественные значения);

  • цифрой помечается случай точного соответствия, когда одному экземп­ляру родительской сущности соответствует заранее заданное число эк­земпляров дочерней сущности.

По умолчанию символ, обозначающий мощность связи, не показывает­ся на диаграмме. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Cardinality.

Рисунок 4.16 – Обозначения мощности

Имя связи (Verb Phrase) - фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим иденти­фицирующей или неидентифицируюшей достаточно указать имя, характе­ризующее отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child так и Child-to-Parent.

Создание физической модели данных Erwin (по классической теории окончание формирования логической модели и физическое проектирование)

Для перехода к физической модели необходимо выбрать Edit/Physical model или выбрать (рис.4.17).

Рисунок 4.17 – Переключение между логической и физической моделью ERwin

В физической модели:

  • выводятся названия сущностей и атрибутов, какими они будут в целевой СУБД;

  • типы данных приобретают значения, соответствующие типам данных целевой СУБД;

  • выполняются все подготовленные преобразования (например, преобразование связей «многие-ко-многим» к двум новым связям «один-ко-многим» и новой ассоциативной сущности, если установлен режим Many-to-Many Relationships with Association Tables на странице General в Model/Model Properties).

Для выбора целевой СУБД в Erwin 7 - Database/Choose Database… (доступно только на физическом уровне). Перейдите на физический уровень модели (рис.4.17)

В появившемся окне (рис.4.18) необходимо указать целевую СУБД.

Рисунок 4.18 – Выбор целевой СУБД

ERwin предлагает автоматически назначить тип данных, связанный с каждым атрибутом, ближайший к типу в логической модели, доступный для выбранной СУБД. Для автоматического преобразования следует в ответ на заданный вопрос нажать Yes.

Далее необходимо создать БД, в которой планируется выполнение скрипта по формированию структуры БД, смоделированной в Erwin:

- создайте пустую БД (в Access или другой СУБД);

- закройте созданную пустую БД (Внимание! на момент соединения с Erwin БД Access должна быть закрыта).

Замечание! Работа с версией ERwin 7! Версия Erwin 7 позволяется создавать структуру данных для СУБД Access 2002 - 2003. Если вы работаете с версиями Access 2010 и выше преобразуйте вашу пустую БД в версию Access 2002 - 2003, создайте на основе ER-модели Erwin структуру БД. После генерации структуры базы данных можно провести обратное преобразование в формат Access более поздней версии.

Далее необходимо соединиться с базой данной целевой СУБД, в которой будет выполняться скрипт. Для этого необходимо запустить Database/Database Connection… В случае соединения с БД Access окно соединения выглядит как показано на рисунке 4.19, где необходимо ввести следующую информацию:

User name – admin;

Password – не заполнять;

Database – имя пустой БД, которую необходимо заранее создать в СУБД Access;

System Database – не заполнять;

и нажать кнопку Connect.

Рисунок 4.19 – Соединение с базой данных, в которой выполнится сформированный скрипт

Если необходимо соединиться с другой БД Access, выберите Database/Database Connection… и нажмите на кнопку Disconnect, затем введите имя новой базы данных и нажмите Connect.

Для создания и запуска скрипта создания объектов базы данных необходимо выбрать Tool/Forward Engineer/Schema Generation… (Erwin 7.0)

В появившемся окне (рис. 4.20) можно выбрать те объекты, которые необходимо создать, а также произвести другие настройки формирования скрипта (закладки Options, Summary), можно просмотреть созданный скрипт (Preview…). Скрипт запускается по нажатию на кнопку Generate.

Рисунок 4.20 – Окно для настройки формирования скрипта базы данных и запуска его на выполнение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]