Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
08.06.2015
Размер:
772.61 Кб
Скачать

пользователь нажимает кнопку , устанавливает указатель мыши сначала

на родительскую сущность и один раз нажимает левую клавишу мыши, а затем - на дочернюю сущность и вновь нажимает клавишу мыши.

Заметим, что при переключении на уровень физической модели облик дан­ной панели меняется (рис. 5.6.14): вместо кнопки создания категорийной связи появляется кнопка создания представления (view) таблицы, а вместо кнопки создания связи многие-ко-многим - кнопка задания связи между таблицей и представлением. Кнопка создания сущности на физическом уровне носит на­звание кнопки создания независимой таблицы.

I W I"""" 1 I •*'"*• 1 wwi

¥ ■ .— ■■ , J .1 ... |l—llJ II ИИ |Д I

Рис. 5.6.14. Дополнительная панель инструментов на уровне физической модели

Как логическая, так и физическая модель содержат несколько уровней ото­бражения (названия для физической модели заключены в круглые скобки): 7. Уровень "сущности" ("таблицы") - внутри прямоугольников отобража­ется имя сущности (для логической модели) или имя таблицы (для физи­ческого представления модели); служит для удобства обзора большой диаграммы или размещения прямоугольников сущностей на диаграмме.

  1. Уровень "атрибуты " ("колонки "). При переходе от предметной области к модели требуется вводить информацию о том, что составляет сущ­ность. Эта информация вводится путем задания атрибутов (на физи­ческом уровне - колонок таблиц). В этом режиме прямоугольник-сущ­ность делится линией на две части: в верхней части отображаются ат­рибуты (колонки), составляющие первичный ключ, а в нижней - ос­тальные атрибуты.

  2. Уровень "описание сущности " ("комментарии ") служит для презентации диаграммы другим людям.

  3. Уровень "первичные ключи " - внутри прямоугольников-сущностей пока­зываются только атрибуты/колонки, составляющие первичный ключ.

  4. Уровень "пиктограммы". Для презентационных целей каждой таблице может быть поставлена в соответствие пиктограмма. На уровне физичес­кой модели заменяется уровнем упорядочения.

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

Рис. 5.6.15. Пример переключения между уровнями отображения

Все объекты, представленные надаатрамме, могут редактироваться сред­ствами, принятыми в Windows, - группировка, копирование, удаление, переме­щение, использование системного буфера.

Нажатие клавиши мыши над сущностью приводит к появлению окна одно­го из многочисленных редакторов ERwin, среди которых:

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

  • редактор атрибутов (определение атрибутов, колонки таблицы в физи­ческом представлении модели, репозитарий средства 4GL, например, расширенные атрибуты в PowerBuilder).

Подробнее редакторы, а также некоторые другие элементы интерфейса бу­дут рассмотрены по ходу изложения в следующем пункте.

5.6.7. Пример разработки модели бд с помощью eRwin

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

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

паспорта клиента. Задача состоит в проектировании структуры базы данных разрабатываемой автоматизированной ИС.

5.6.7.2. Создание логической модели бд

Проведем анализ предметной области с целью выделить основные сущности. Поскольку речь идет об учете сделок купли-продажи валюты, ясно, что в модели должна присутствовать сущность СДЕЛКА. Согласно правилам, на ER-диаграмме названия сущностей записываются большими буквами. Напомним, что название сущности - это название типа, а не множества объектов. Поэтому оно чаще всего выражается существительным в единственном числе (ср. СДЕЛКИ).

Понятие сделка подразумевает участие по крайней мере двух совершаю­щих ее сторон, а также наличие предмета сделки. Т.к. участниками сделки яв­ляются клиент и кассир, а предметом сделки является валюта, необходимо вве­сти еще три сущности: ВАЛЮТА, КЛИЕНТ и КАССИР.

Внесем перечисленные сущности в диаграмму. Названия сущностей мож­но редактировать непосредственно на диаграмме, как это показано на рис. 5.6.16.

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

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

случаях и роль.

Для задания связей между указанными сущностями сначала составим опи­сание данной предметной области при помощи ряда истинных высказываний

на естественном языке.

Любой КЛИЕНТ должен совершить одну или несколько СДЕЛОК.

Каждую СДЕЛКУ должен совершать только один КЛИЕНТ.

Любой КАССИР может обслуживать одну или несколько СДЕЛОК, но мо­жет не обслуживать и ни одной (например, только принят на работу).

Каждую СДЕЛКУ должен обслуживать только один КАССИР.

Любая ВАЛЮТА может покупаться и продаваться при разных СДЕЛКАХ.

При совершении СДЕЛКИ должна покупаться одна ВАЛЮТА и продавать­ся другая ВАЛЮТА.

Анализ приведенных высказываний позволяет выделить четыре связи (на­звания связей - глаголы):

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

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

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

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

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

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

Все связи, кроме первой, могут иметь мощность 0, 1 или более. Первая связь не может иметь мощность 0, т.к. в данном случае любой человек стано­вится КЛИЕНТОМ только тогда, когда он совершает хотя бы одну сделку.

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

Эти параметры задаются при помощи редактора связей (рис. 5.6.19). Вызвать этот редактор можно двойным нажатием левой клавиши мыши над связью.

Задание ограничений ссылочной целостности, а также указание ролей про­изводится на закладке Rolename/RI Action панели диалога редактора связей (рис. 5.6.20).

Ограничения ссылочной целостности, задаваемые по умолчанию ERwin, в данном случае можно оставить без изменений.

Указание ролей понадобится лишь для связей между сущностями ВАЛЮ­ТА и СДЕЛКА (см. пример на рис. 5.6.4).

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

Рис. 5.6.21. Логическая модель со связями

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

Хорошим источником информации в этом случае может стать перечень тре­бований к хранимой информации, приведенный в задании. Рассмотрим по оче­реди каждую из сущностей.

Сведения о клиенте должны состоять из его фамилии, имени, отчества и номера его паспорта. Очевидно, что они и будут атрибутами сущности КЛИ­ЕНТ. Первичным ключом можно было бы выбрать номер паспорта, поскольку он однозначно идентифицирует любой из экземпляров этой сущности. Од­нако номер паспорта не является числом, т.к., кроме цифр, содержит и бук­вы, и, следовательно, для его хранения будет использоваться строка мини­мум из 13 символов, что не совсем удобно. Поэтому введем для каждого КЛИЕНТА уникальный номер, который и будет первичным ключом. А ат­рибут "номер паспорта клиента" сделаем альтернативным ключом, чтобы обеспечить возможность быстрого поиска информации о сделках по его зна­чениям, согласно заданию.

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

По тем же соображениям сущность ВАЛЮТА будет содержать два атри­бута: код валюты и название валюты, первый из которых будет первичным ключом.

Что касается сущности СДЕЛКА, то часть атрибутов она унаследует от родительских сущностей и остается лишь добавить следующие: "дата сделки", "время сделки", "сумма покупаемой валюты" и "сумма продавае­мой валюты". Очевидно, что первичным ключом, следует выбрать уни­кальный цифровой код сделки. Поскольку в задании сказано, что создава­емая система должна позволять вычислить денежный оборот за один или несколько дней, полезно было бы сделать атрибут "дата сделки" инверс­ным входом, т.к. он довольно часто будет использоваться для доступа к данным.

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

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

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

Соседние файлы в папке ПрИС_12Лабораторная