Разработка информационной модели данных с помощью AllFusion Data Modeler r7 (Erwin ) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка информационной модели данных с помощью AllFusion Data Modeler r7 (Erwin )



 

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

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

Создание модели. Запустить приложение Erwin 7.1.

 

  Рисунок 2 – Создание модели в Erwin 7.1       В появившемся диалоговом окне «Model Mart Connection Manager» нажать «Cancel». Откроется окно «Computer Associates Erwin». Необходимо выбрать переключатель «Create model». Нажать «OK». Появится окно «Create model – Select Template» (рисунок 2).

В поле «New Model Type» выбрать переключатель «Logical/ Physical». Появится раздел «Target Database», выбрать в нем необходимую базу («SQL Server 2000» или «Access 2000»). Нажать «OK». Модель откроется на логическом уровне.

Создание сущностей. На панели инструментов (рисунок 3) выбираем элемент , изображающий сущность.

 

 

Рисунок 3 – Панель инструментов Erwin 4.1

 

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

Для добавления атрибутов в созданную сущность, щелкаем по ней один раз правой клавишей мыши. Появится окно «Attributes» (рисунок 4).

 

 

Рисунок 4 – Окно атрибутов           Рисунок 5 – Создание нового атрибута

 

Для добавления атрибута нажимаем кнопку «New». Появится окно «New Attribute» (рисунок 5).

В поле «Attribute Name» вводим имя атрибута (например, Читательский номер) и выбираем домен (String). Нажимаем «OK».

Если созданный атрибут должен быть первичным ключом, то в Окне атрибутов (рисунок 4) ставим флажок .

Если созданный атрибут должен быть виден только на логическом уровне, то в окне атрибутов (см. рисунок 3) ставим флажок .

Нажимаем «OK». Если нужно изменить атрибут, то изменяем в окне «Attributes».

Для удаления сущности или связи с модели необходимо их выделить и нажать на клавиатуре «Delete». При удалении сущности удалятся и его связи

Создание связей. Для создания связи необходимо:

1) на панели инструментов выбрать значок одной из трех связей:

- идентифицирующая связь ;

- не идентифицирующая связь ;

- связь «многие-ко-многим» .

2) подвести курсор к родительской сущности (от которой идет связь) и щелкнуть левой клавишей мыши по ней;

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

Для редактирования связи между сущностями необходимо щелкнуть по ней правой клавишей мыши. В появившемся контекстном меню выбрать «Relationship Properties». Появляется окно «Relationships» (рисунок 6). В поле «Verb Phrase» указываем имя связи. Можно указать имя связи от родительской сущности к дочерней или от дочерней к родительской. В поле «Relationship Cardinality» указываем: «Cardinality» (мощ-ность связи), «Relationship Type» (тип связи), «Nulls» (допустимость нулевых значений) (см. рисунок 6)

 

 

Рисунок 6 – Определение связей

 

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

Разрешение связи «многие-ко-многим». Для разрешения связи «многие-ко-многим» необходимо:

1) перейти к вкладке «Physical» (физическая), выбрав нужный пункт из выпадающего списка на панели инструментов;

2) выделить связь, которую нужно разрешить, щелкнув по ней левой кнопкой мыши. На панели инструментов станет активной кнопка «Many-to-many Transform» . Необходимо щелкнуть по ней;

3) В появившемся окне «Many-to-many Relationships Transform Wizard» следует нажать кнопку «Далее» (рисунок 7);

 

 

Рисунок 7 – Разрешение связи «многие-ко-многим» (шаг 3)

 

4) в появившемся окне в поле «Table Name» вносится имя ассоциативной сущности, появляющейся при разрешении связи типа «многие-ко-многим» (рисунок 8). Нажать «Далее»;

 

 

Рисунок 8 – Разрешение связи «многие-ко-многим» (шаг 4)

 

5) на следующем шаге вносится имя связи между разрешающей таблицей и исходной в поле «Transform Name» (рисунок 9);

Рисунок 9 – Разрешение связи «многие-ко-многим» (шаг 5)

 

6) в появившемся диалоговом окне нажимаем кнопку «Готово».

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

Задание русских шрифтов. Если шрифт открывшейся модели не понятен, необходимо щелкнуть правой клавишей мыши по пустому месту рабочей области диаграммы и выбрать в контекстном меню пункт «Default Font & Colors».

В открывшемся окне на закладках «Tables», «Columns», «General» и «Relationships» в полях «Font» выбираем необходимый шрифт («Arial Cyr»), а в разделах «Apply to» установливаем переключатель «All Objects» (рисунок 10).

 

Рисунок 10 – Настройка русских шрифтов

 

Добавление связи категоризации. Для добавления связи категоризации необходимо:

      1) выбрать на панели инструментов элемент «Complete sub-category» . Курсор изменится;

      2) левой клавишей мыши щелкнуть по родительской сущности, а затем по дочерней. Появится связь;

      3) чтобы добавить еще одну дочернюю сущность к этой связи, необходимо снова выбрать элемент «Complete sub-category» и левой клавишей мыши щелкнуть по знаку категоризации (), затем по дочерней сущности.

Создание закладок «Display». Закладки «Display» предназначены для отображения различных уровней и объектов рабочей области диаграммы (например, на одной закладке «Display» может быть изображена ER-диаграммы логического уровня, на другой - физического). Для создания закладки необходимо:

1) в меню «Format» выбрать пункт «Stored Display Settings»;

2) в появившемся окне (рисунок 11) нажать кнопку «New», задать имя закладки и нажать OK;

3) в нижней части окна «Stored Display» (см. рисунок 11) можно изменить настройки для созданной закладки.

 

 

Рисунок 11 – Создание закладок «Display»

Пример разработки информационной модели «Университетская библиотека».

При создании информационной модели университетской библиотеки созданы следующие сущности (рисунок 12):

- Отделы ­– для фиксации информации об отделах библиотеки. Содержит номер отдела, его название, табельный номер и фамилию начальника отдела;

- СотрудникиБиблиотеки – для хранения информации о сотрудниках, которые работают в библиотеке;

- Студенты – запись информации о студентах, которые пользуются библиотекой;

- Экземпляр – книги, зарегистрированные в отделах библиотеки (конкретный экземпляр книги в определенном отделе);

- Замена_Экземпляров – хранит информацию о протоколах замены книг;

- Преподаватели – информация о преподавателях-пользователях библиотеки;

- Периодические_издания – информация о газетах, журналах, которые имеются в библиотеке;

- Списанные_книги – хранит информацию о протоколах списания книг;

- Книга – хранит информацию о книге. Каждая книга в библиотеке может быть в нескольких экземплярах в разных отделах;

- Заказы – заказы преподавателей на новую литературу.

Для однозначного определения записей в каждом из отношений выделен первичный ключ (простой или составной).

На логическом уровне проектирования (рисунок 12) в моделируемой базе данных присутствуют следующие типы связей между описанными сущностями:

- неидентифицирующие связи;

- идентифицирующие связи;

- связи «многие-ко-многим».

Связь между сущностями Отделы и Сотрудники библиотеки неидентифицирующая, не разрешающая присутствие нулей, т. к. каждый сотрудник закреплен за определенным отделом. Тип связи «один-ко-многим», т. к. в одном отделе могут работать много сотрудников. и 1 ко многимттствие нулейтрудники библиотеки

Связь между сущностями Отделы и Экземпляр неидентифицирующая, не разрешающая присутствие нулей, т. к. каждый экземпляр закреплен за определенным отделом. Тип связи «один-ко-многим», т. к. в одном отделе может храниться много экземпляров.

Связь между сущностями Отделы и Периодические_издания неидентифицирующая, не разрешающая присутствие нулей, т. к. каждое издание закреплено за определенным отделом. Тип связи «один-ко-многим», т. к. в одном отделе может храниться много изданий.

Связь между сущностями Книга и Экземпляр неидентифицирующая, не разрешающая присутствие нулей, т. к. каждый экземпляр – это определенная книга. Тип связи «один-ко-многим», т.к. одна книга может быть зарегистрирована в нескольких экземплярах.

Связь между сущностями Замена_экземпляров и Экземпляр идентифицирующая, т. к. нельзя идентифицировать замену экземпляра без информации об экземпляре. Тип связи «один-к-одному», т. к. замена осуществляется для одного экземпляра один раз.

Связь между сущностями Списание_экземпляров и Экземпляр идентифицирующая, т. к. нельзя идентифицировать списание экземпляра без информации о нем. Тип связи «один-к-одному», т. к. списание осуществляется для одного экземпляра один раз.

Связь между сущностями Преподаватели и Заказы идентифицирующая, т. к. для идентификации заказа необходима информация о заказчике. Тип связи «один-ко-многим», т. к. один преподаватель может заказать много книг.

Связь между сущностями Книги и Заказы идентифицирующая, т. к. нельзя идентифицировать заказ, не зная ISBN заказанной книги. Тип связи «один-ко-многим», т. к. одна книга может быть во многих заказах.

Связь между сущностями Преподаватели и Экземпляр «многие-ко-многим», т. к. один преподаватель может пользоваться многими экземплярами, а один экземпляр может быть у многих преподавателей в разное время.

Связь между сущностями Студенты и Экземпляр «многие-ко-многим», т. к. один студент может пользоваться многими экземплярами, а один экземпляр может быть у многих студентов в разное время.

Связь между сущностями Сотрудники библиотеки и Экземпляр «многие-ко-многим», т. к. один сотрудник библиотеки может пользоваться многими экземплярами, а один экземпляр может быть у многих сотрудников библиотеки в разное время.

 

 

Рисунок 12 – Информационная модель

Разрешение связей «многие-ко-многим» осуществляется на физическом уровне. Были введены дополнительные зависимые сущности Пользование библиотекой (рисунок 13).    

 

 

Рисунок 13 – Разрешение связей «многие-ко-многим» на физическом уровне

 

Реализация ссылочной целостности:

- при добавлении новой записи в зависимую таблицу значение внешнего ключа должно присутствовать в главной таблице;

- при изменении информации о каком-либо отделе из таблицы «Отделы» в таблицах «Сотрудники библиотеки», «Периодические издания» и «Экземпляры» информация будет автоматически меняться (каскадное обновление), удалять запрещено;

- при изменении информации о каком-либо сотруднике из таблицы «Сотрудники» в таблице «Пользование библиотекой» информация будет автоматически изменяться (каскадное обновление);

- при удалении информации о каком-либо сотруднике из таблицы «Сотрудники» в таблице «Пользование библиотекой» информация о нем остается;

- в таблице «Книга» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещается (запрет удаления);

- в таблице «Экземпляр» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещено (запрет удаления);

- в таблице «Студенты» при изменении информации о студенте происходит каскадное обновление данных. Разрешается удаление информации только в случае, когда на данную информацию нет ссылок в других связанных таблицах;

- в таблице «Преподаватели» при изменении данных происходит каскадное обновление. Разрешается удаление информации только в случае, когда на данную информацию нет ссылок в других связанных таблицах;

- в таблицах «Списанные экземпляры» и «Замена экземпляров» не разрешается удаление и изменение записей;

- в таблице «Заказы» разрешается обновление.

- в таблице «Периодическая литература» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещается (запрет удаления).

 



Поделиться:


Последнее изменение этой страницы: 2019-08-19; просмотров: 399; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.176.78 (0.046 с.)