Home Page

Средство разработки структуры базы данных ERwin


ERwin

Введение

Моделирование в ERwin

Постановка задачи

Описание работы с пакетом ERwin

Задание. Построить логическую модель автоматизации учебного процесса в вузе


Введение

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

В реляционной модели БД все данные представляются как факты о сущностях и связях.

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

Связь – это функциональная зависимость между сущностями. Например, студент изучает предмет, сдает по нему экзамен и получает оценку.

Каждая сущность обладает атрибутами. Атрибут – это свойство объекта, характеризующее его экземпляр. Например, Студент имеет атрибуты ФИО, год рождения и т.д.

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

Начало Назад Вперед Задание


Моделирование в ERwin

Построение информационной модели состоит из шагов:

  1. Определение сущностей;

  2. Определение зависимостей между сущностями;

  3. Задание первичных и альтернативных ключей;

  4. Определение атрибутов сущностей;

  5. Приведение модели к требуемому уровню нормальной формы;

  6. Физическое описание модели (задание имен сущностей и атрибутов, типов данных, ограничений и т.п.);

  7. Генерация БД

Логический и физический уровень модели данных в Erwin

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

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

Сущности (Entity) в Erwin

Сущность – это логическое понятие. Сущности соответствует таблица в реальной СУБД.

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

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

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

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

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

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

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

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

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

Например, сущность Группа связана с сущностью Студент.

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

  • Сущность должна иметь уникальное имя

  • Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения.

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

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

  • Если внешний ключ целиком используется в составе первичного ключа, то сущность является «потомком», зависимым от «родительской» сущности (зависит от идентификатора). Отношение между сущностями – идентифицирующее.

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

Атрибуты (Attribute) в Erwin

Правила атрибутов:

  • Каждый атрибут каждой сущности обладает уникальным именем.

  • Сущность может иметь любое количество атрибутов

  • При идентифицирующем отношении сущность «потомок» наследует атрибут и/или атрибуты, составляющие первичный ключ сущности «родителя».

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

Для обеспечения доступа к нескольким экземплярам сущности, объединенных каким-либо одним признаком, используют неуникальные индексы. Атрибуты, которые будут участвовать в подобных индексах, называют инверсные входы.

Роли

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

Связи (relationships) в Erwin

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

В Erwin связь представляется пятью основными элементами информации:

  • Тип связи (идентифицирующая, не идентифицирующая);

  • Родительская (независимая) сущность;

  • Дочерняя (зависимая) сущность;

  • Мощность связи;

  • Допустимость пустых (null) значений.

Идентифицирующая связь изображается сплошной линией, не идентифицирующая – пунктирной. Линии заканчиваются точкой со стороны дочерней сущности.

Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Эта связь записывается как 1:n. Erwin представляет четыре варианта для n, которые изображаются дополнительным символом у дочерней сущности:

. – ноль, один или больше;

Р – один или больше;

Z – ноль или один;

N – равно N, где N – конкретное число.

Допустимость пустых (null) значений в не идентифицирующих связях Erwin изображает пустым ромбиком на дуге связи со стороны родительской сущности.

Имя связи на логическом уровне представляет собой глагол (Группа состоит из Студентов). Физическое имя связи для Erwin означает имя ограничения (constraint) или индекса.


Постановка задачи

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

Сущности
  1. Клиент
  2. Кассир
  3. Валюта
  4. Сделка
Описание предметной области

  • Любой клиент должен совершить одну или несколько сделок.

  • Каждую сделку должен совершить один клиент.

  • Любой кассир может обслужить одну или несколько сделок или ни одной.

  • Каждую сделку обслуживает один кассир

  • Любая валюта может покупаться и продаваться при разных сделках.

  • При совершении сделки должна покупаться одна валюта и продаваться другая валюта.

Связи

1. КЛИЕНТ совершает СДЕЛКУ

2. КАССИР обслуживает СДЕЛКУ

3. ВАЛЮТА покупается при СДЕЛКЕ

4. ВАЛЮТА продается при СДЕЛКЕ

Все четыре связи «один-ко-многим». Сущность СДЕЛКА во всех связях оказывается дочерней.

Все связи неидентифицирующие, т.к. любой экземпляр сущности СДЕЛКА должен однозначно идентифицироваться по коду сделки, вне зависимости от экземпляров других сущностей.

Мощность связей, кроме первой 0, 1 или более. Первая связь не может иметь мощность 0, т.к. человек становится клиентом только совершив сделку.

Во всех связях родительские сущности не могут иметь пустые значения.

Атрибуты сущностей

КЛИЕНТ

КАССИР

ВАЛЮТА

СДЕЛКА

Код клиента

Фамилия

Имя

Отчество

Номер паспорта

Код кассира

ФИО

Учетный номер личного дела в ОК

Код валюты

Наименование валюты

Код сделки

Дата

Время

Сумма покупаемой валюты

Сумма продаваемой валюты

Первичные ключи Код клиента, Код кассира, Код валюты, Код сделки однозначно идентифицируют экземпляры сущностей КЛИЕНТ, КАССИР, ВАЛЮТА, СДЕЛКА.

Альтернативные ключи Номер паспорта клиента, Учетный номер кассира также однозначно идентифицируют экземпляры сущностей КЛИЕНТ, КАССИР.


Описание работы с пакетом ERwin

Окно пакета

Назначение кнопок панели инструментов

Создание, открытие, сохранение и печать модели

Вызов диалога Report Browser для генерации отчета

Изменение просмотра модели: уровень сущностей, уровень атрибутов, уровень определений

Изменение масштабов просмотра модели

Вызов дополнительной панели инструментов для работы с репозитарием Model Mart

Переключатель между областями модели Subject Area

Переключатель между логической и физической моделью

Кнопки палитры инструментов в зависимости от уровня отображения модели
Логический уровень |  | Физический уровень
 | · Указатель мыши · Добавления сущности · Добавление категории · Добавление текстового блока · Перенесение атрибутов внутри сущности и между ними · Создание идентифицирующей связи · Создание связи многие-ко-многим · Создание неидентифицирующей связи |  | · Указатель мыши · Добавления сущности · Добавление представлений · Добавление текстового блока · Перенесение атрибутов внутри сущности и между ними · Создание идентифицирующей связи · Создание связи представлений · Создание неидентифицирующей связи

Создание логической модели БД

Переключимся с помощью кнопки [image] в режим логической модели БД. Выберем кнопкой [image] вид просмотра модели: Entity View (сущностей).

Добавление сущности в модель. Для добавления новой сущности в диаграмму, выберем кнопку [image] на панели инструментов Erwin ToolBox, затем щелкнем по тому месту диаграммы, где надо расположить новую сущность. Мигающий курсор укажет место, где можно задать имя сущности. Расположим на диаграмме все четыре сущности. Затем выйдем из режима добавления сущностей, выбрав кнопку [image] .

Установив курсор на сущности, выбрав из контекстного меню пункт Entity Editor, можно вызвать диалоговое окно, в котором задаются имя, комментарии и описание сущности. Каждая сущность должна быть описана в текстовой закладке Definition. Закладки Note, Note 2, Note 3, UDP нужны для внесения дополнительных комментариев и определений к сущности.

Установка связи между сущностями. Для установки связи необходимо щелкнуть на на нужной кнопке связи панели Erwin ToolBox (Для данной задачи необходима неидентифицирующая связь [image] ) . Затем указать мышью сначала на родительскую сущность, а потом на дочернюю. Задать параметры связи можно при помощи редактора связей, вызванного из контекстного меню Relationship Editor.

После задания связей между сущностями диаграмма выглядит следующим образом.

Выберем кнопкой [image] вид просмотра модели: Attribute View (Атрибутов).

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

Для задания альтернативных ключей и инверсных входов следует воспользоваться редактором ключей, который вызывается из контекстного меню пунктом KeyGroup Editor. В открывшемся диалоговом окне нажимается кнопка New.

В появившемся окне задаются необходимые атрибуты, и нажимается кнопка ОК.

Затем с помощью кнопки [image] в правое окошко добавляются атрибуты, составляющие альтернативный ключ. ОК.

Задание ограничений ссылочной целостности, а также указание ролей производится на закладке Rolename/RI Actions окна редактора связей

Для отображения полного имени атрибута (как функционального имен , так и имени роли) следует в контекстном меню (вызывается на чистом поле диаграммы) выбрать пункт Display Options/Entities и затем включить опцию Rolename/Attribute

Процесс логического моделирования закончился, модель приобрела вид:


Построить логическую модель автоматизации учебного процесса в вузе

Начало Назад Вперед Подсказка

ЗАДАНИЕ

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

Сделать постановку задачи:

  1. Определить сущности

  2. Описать предметную область

  3. Определить связи

  4. Определить атрибуты сущностей и ключи

Построить логическую модель БД "Учебный процесс"

Составить отчет по лабораторной работе, где представить постановку задачи и приложить ER-диаграмму построенной модели.

Начало Назад Вперед Подсказка


Подсказка

Назад

Сущности и связи модели

Ключи и атрибуты сущностей модели

Назад

Назад