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

5

Лабораторная работа № 12

Проектирование базы данных информационной системы пункта обмена валют средствами ERwin

(продолжительность работы 4 часа)

Цель работы разработать модели данных в инструментальном средстве ERwin для проектирования информационной системы пункта обмена валют.

Указания по выполнению лабораторной работы

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

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

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

Задание 1. Изучив требования к информационной системе, создать логическую модель базы данных

Указания по выполнению задания

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

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

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

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

Рисунок 1.1 – Меню вызова редактора, относящегося к сущностям

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

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

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

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

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

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

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

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

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

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

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

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

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

Все четыре связи являются связями "один-ко-многим".

Во всех четырех случаях сущность СДЕЛКА является дочерней.

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

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

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

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

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

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

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

Аналогично задать связи между другими сущностями.

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

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

Рассмотрим по очереди каждую из сущностей.

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

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

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

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

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

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

Рисунок 1.2 – Панель диалога редактора ключей

Задание 2. Создание физической модели базы данных и генерация схемы базы данных

Указания к выполнению задания

Перед тем как приступить к созданию физической модели, необходимо выбрать сервер СУБД (см. Лабораторную работу № 11). Вид панели диалога, позволяющей это сделать, приведен на рис. 1.3.

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

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

Рисунок 1.3 – Панель выбора сервера СУБД

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

Вносить изменения в шаблоны триггеров и хранимых процедур в рассматриваемом задании нет необходимости.

Последним шагом является генерация схемы БД. Все необходимые параметры можно задать на предназначенной для этого панели диалога. Нажатие кнопки Preview позволяет просмотреть код, который будет автоматически создан ERwin. Генерация схемы БД запускается нажатием кнопки Generate.

Составить отчёт о проделанной работе по установленной форме, сделать выводы.

Контрольные вопросы

1. Из каких этапов состоит построение ER-диаграмм? Какая особенность при этом учитывается?

2. Что включает в себя проектирование логической структуры базы данных?

3. С чего начинается создание физической модели базы данных?

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