Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tasks / ПИ-Метод-рекомен-ЛР-Кузнецов-01-сентября-2013.doc
Скачиваний:
180
Добавлен:
13.03.2015
Размер:
4.19 Mб
Скачать

4. Режимы отображения модели

Создание логической модели БД в ERwin базируется на хорошем знании режимов отображения диаграммы. Режимы отображения модели, используемые в ERwin, было подробно рассмотрены в работе № 1. Поэтому ниже в краткой форме приведем сведения необходимые для выполнения текущей лабораторной работы.

Для построения модели в ERwin предусмотрено пять режимов отображения: Сущности (Entity), Определение сущности (Definition), Атрибуты (Attribute), Первичные ключи (Primary Key), Пиктограммы (Icon).

Переключение между первыми тремя режимами отображения модели проводиться с помошью соответствующих кнопок панели Стандартная. Переход на другие уровни отображения модели проводиться при помощи контекстного меню, которое появляется, если шелкнуть мышью по любому месту модели, не занятому объектами модели. В контекстном меню следует выбрать пункт Display Level, а затем необходимый режим отображения. Режим отображения модели можно также выбрать с помощью меню Format/Display Level.

5. Порядок выполнения работы

5.1. Создание модели

1. Запустите CASE-средство ERwin.

2. Создайте новую модель. Для этого в меню File выберите команду New.

3. В появившемся окне Create Model (рис. 9) выберите создание логической и физической модели (Logical/Physical). Для создания модели будет использован шаблон по умолчанию Blank Logical/Physical Model.

Рис. 9. Диалог создания модели

4. После выбора типа модели в нижней части окна Create Model становится доступной опция Target Database для выбора физической базы данных (рис. 10). В разделе Database выберите СУБД Access, а в разделе Version укажите 2000 (рис. 10). Мы будем использовать базу данных Access для апробациии физических моделей в данной и последующих работах. Нажмите кнопку ОК.

Рис. 10. Вид окна для выбора базы данных

5. Появляется рабочее окно <Model1>:<Main Subject Area>/Display1 для создания модели (рис. 11).

Рис. 11. Вид окна для создания модели

6. Сохраните модель в файл. Для этого в меню File выберите команду Save As. В появившемся окне ERwin Save As (рис. 12):

  • в поле Имя файла введите имя Info;

  • в поле Тип файлавыберитеErwin(*.er1). ERwinавтоматически добавляет расширение .er1 для файла модели данных;

  • в поле Папка укажите свою рабочую папку или папку Рабочий стол;

  • щелкните мышью по кнопке Сохранить для возврата в окно модели.

Рис. 12. Сохранение модели

7. В заголовке рабочего окна (рис. 11) дежурное имя Model1 заменится на фактическое С:\Рабочий стол\Info.er1:<Main Subject Area>/Display1.

5.2. Создание сущностей Сущности (Entity) в eRwin

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

Сущность – это субъект, место, вещь, событие или понятие, содержащее информацию. Точнее, сущность – это набор (объединение) объектов, называемых экземплярами. Так, создаваемая далее сущность Клиент будет представлять всех возможных клиентов. Каждый экземпляр сущности обладает набором характеристик (атрибутов). Так, каждый клиент может иметь атрибуты: имя, адрес, телефон и т. д. Атрибут выражает определенное свойство объекта.

Сущность представляет собой множество реальных или абстрактных объектов, например: люди, места, события, факты, которые имеют общие характеристики.

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

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

Правила определения сущностей:

  • сущность должна иметь уникальное имя с четким смысловым значением. Имя сущности – существительное в единственном числе. Например, сущность Клиент (но не Клиенты!). Другие примеры имен сущностей: Товар, Заказ, Поставщик. Фактически имя сущности дается по имени ее экземпляра. Существительное может иметь определение;

  • сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения. Например, сущность Клиент может иметь атрибуты Номер Клиента, Фамилия Клиента и Адрес Клиента. На уровне физической модели сущности Клиент может соответствовать таблица Client с колонками ClientNumber, ClientName и ClientAddress;

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

  • каждая сущность может обладать любым количеством отношений с другими сущностями;

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

В ERwin сущность визуально представляет три основных вида информации:

  • атрибуты, составляющие первичный ключ;

  • не ключевые атрибуты;

  • тип сущности (независимая/зависимая).

На модели сущность изображается прямоугольником. В зависимости от режима представления модели прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора – атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичных ключ) – в нижней части.

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

Экземпляры независимой (родительской) сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая (дочерняя) сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями.

Зависимая сущность отображается в ERwin прямоугольником с закругленными углами.

Зависимая сущность может наследовать один и тот же внешний ключ от более чем одной родительской сущности, или от одной и той же родительской сущности через несколько связей. Если не введены различные роли для такого множественного наследования, ERwin считает, что в зависимой сущности атрибуты внешнего ключа появляются только один раз.

На рис. 13 приведен пример представления родительской сущности Товар и дочерней сущности СтатистикаПоТовару.

Рис. 13. Пример представления родительской и дочерней сущностей

8. Создайте сущности будущей модели.

8.1. Для внесения сущности в модель щелкните мышью по кнопкеСущность (Entity) на панели Инструменты.

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

8.3. Появиться первая сущность с именем по умолчанию Е/1 (рис. 14).

8.4. Повторите операции 8.1 и 8.2 еще два раза.

8.5. В результате на рабочем поле будут добавлены еще две сущности с именами E/2 и E/3 (рис. 14).

Рис. 14. Вид окна с добавленными сущностями

8.6. Сохраните модель. Сущности, которые были созданы в рабочем окне модели, появятся в окне Model Explorer (рис. 14).

9. Замените имена сущностей по умолчанию E/1, E/2, E/3, на реальные имена: Клиент, Товар, Заказ.

Имена сущностям можно задать тремя способами: непосредственно в окне модели, в Model Explorer, с помощью меню.

1 способ. В окне модели выберите сущность с именем E/1. Сделайте двойной щелчок по имени сущности. Появится блок редактирования вокруг имени. Введите с клавиатуры имя сущности Товар и щелкните мышью вне блока редактирования (рис. 15).

было

стало

Рис. 15. Редактирование имени сущности

2 способ. В Model Explorer щелкните правой кнопкой мыши по сущности E/2 и из контекстного меню выберите Rename (Переименовать). Введите с клавиатуры имя Клиент. Щелкните мышкой вне блока редактирования (рис. 16).

было

стало

Рис. 16. Переименование имени сущности

3 способ. Двойным щелчком мыши по сущности E/3 или с помощью контекстного меню сущностей Entity Properties вызовите диалоговое окно Entities (рис. 17). В поле Name введите имя сущности, например, Заказ. Вид окна после ввода данных для сущности Заказ приведен на рис. 18.

10. Опишите каждую сущность. Каждая сущность должна быть полностью определена с помощью текстового описания в закладке Definition диалогового окна Entities (рис.18).

Рис. 17. Вид окна для описания сущностей

Рис. 18. Вид окна с описанием сущности Товар

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

Не закрывая диалог описания сущностей (рис. 18) в поле Entity последовательно выберите сущности Заказ, Товар и Клиент, и введите для них определения: Список оформленных заказов; Список продукции, предназначенной для продажи; Список юридических и физических лиц, делающих заказы в фирме, соответственно.

Другие вкладки окна Entities (рис.18) Note, Note 2, Note 3, UDP (User Defined Properties), Icon служат для внесения дополнительных комментариев и определений к сущности. Их назначение приведено в табл. 3.

Таблица 3

Вкладки окна Entities

Вкладка

Назначение

Definition

Используется для ввода определения сущности.

Note

Можно ввести полезное замечание, описывающее какое-либо бизнес-правило или соглашение по организации диаграммы.

Note 2

Можно задокументировать некоторые возможные запросы, которые, как ожидается, будут использоваться по отношению к сущности в БД.

Note 3

Позволяет вводить примеры данных для сущности (в произвольной форме).

UDP

Свойства, определенные пользователем, служат для внесения дополнительных комментариев и определений к сущности.

Icon

Каждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне пиктограмм и изображение, которое будет отображаться на всех других уровнях.

History

История работы с сущностью

Для задания свойств сущности, определяемых пользователем (User Defined Properties сокращенно UDP), служит диалог User Defined Properties (рис.19). Диалог User Defined Properties вызывается щелчком мыши по кнопке

на вкладкеUDP , либо с помощью меню Model/UDP dictionary….

Рис. 19. Вид окна User Defined Properties

В разделе Class необходимо выбрать вид объекта, для которого заводится UDP (диаграмма в целом, сущность, атрибут и т. д.). В поле Type необходимо выбрать тип данных. ERwin поддерживает для UDP шесть типов данных, в том числе:

  • List – список – при задании списка значения следует разделять запятой, значение по умолчанию выделяется символом «~»;

  • Command – команда – выполняемая строка;

  • Date – дата;

  • Int – целое;

  • Real – вещественное;

  • Text – текстовое.

9.5. С помощью кнопки ОК закройте окно Entities.

9.6. В результате выполнения пунктов 9.1–9.5 окно с сущностями примет вид, показанный на рис. 20.

9.7. Сохраните модель.

Рис. 20. Вид модели с именами сущностей