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

Практическая работа

.doc
Скачиваний:
25
Добавлен:
05.06.2015
Размер:
5.48 Mб
Скачать

Лабораторная работа по части

проекта по разработке информационной системы

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

Задача заключается в автоматизации процесса работы автосалона.

Основному пользователю (продавцу автомобиля) должна быть предоставлена возможность добавления, удаления, изменения данных, а главное, возможность удобного, расширенного поиска требуемой информации. Эта задача несколько осложняется тем, что нельзя точно выделить набор критериев, по которым будет осуществляться поиск: могут понадобиться данные обо всех автомобилях находящихся в другом городе, или информация об других автомобилях находящихся в другом автосалоне. Некоторым клиентам может быть предоставлена установка дополнительного оборудования на автомобиль. Иногда требуется информация об обслуживающем персонале. Желательно также предусмотреть возможность автоматизированного подсчета цены автомобиля, в зависимости от выбранных критериев. Многих трудностей можно избежать, если грамотно спроектировать структуру базы данных (определить сущности, отношения между ними, наложить ограничения и т.д.). Если весь проект разделить на логические части, то в результате получится следующее:

  1. Построение семантической модели данных.

  2. Разработка реляционной структуры данных.

  3. Определение ограничений, триггеров, процедур, функций.

  4. Разработка приложения.

Остановимся подробнее на первом пункте

Построение семантической модели данных.

Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм "сущность-связь" (ER - Entity-Relationship).

Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом. В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). По сути, все варианты диаграмм "сущность-связь" исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.

Рассмотрим особенности некоторых нотаций (Чена и Баркера).

Модель Чена

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

Отношение в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (ИМЕЕТ, ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).

Символы ERD, соответствующие сущностям и отношениям, приведены ниже.

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

Ассоциативная сущность (ассоциация) – это связь вида "многие-ко-многим" между двумя или более сущностями. Ассоциации рассматриваются как полноправные сущности: они могут участвовать в других ассоциациях точно так же, как независимые сущности; могут обладать свойствами, т.е. иметь не только набор ключевых атрибутов, необходимых для указания связей, но и любое число других атрибутов, характеризующих связь.

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

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

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

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

Существуют 4 возможных типа дискриминатора:

  1. Полное и обязательное вхождение E/M - сущность должна быть одной и только одной из следуемых категорий. Это означает, что, например, ПРЕПОДАВАТЕЛЕМ является ФИЗИК, или ХИМИК, или МАТЕМАТИК.

  2. Полное и необязательное вхождение E/O - сущность может быть одной и только одной из следуемых категорий. Это означает, что ПРЕПОДАВАТЕЛЕМ является ФИЗИК, или ХИМИК, или МАТЕМАТИК, или преподаватель какой-либо другой дисциплины (например, ИСТОРИК).

  3. Неполное и обязательное вхождение I/M - сущность должна быть по крайней мере одной из следуемых категорий. Это предполагает в дополнение к 1) задавать следующую ситуацию: ПРЕПОДАВАТЕЛЕМ является одновременно и ФИЗИК и ХИМИК

  4. Неполное и необязательное вхождение I/O - сущность может быть по крайней мере одной из следуемых категорий. В дополнение к 2) ПРЕПОДАВАТЕЛЕМ является преподаватель какой-либо другой дисциплины (например, ИСТОРИК).

Модель Баркера.

Дальнейшее развитие ER-подход получил в работах Баркера.

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

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

Атрибут может быть либо обязательным, либо необязательным Обязательность означает, что атрибут не может принимать неопределенных значений (null values).

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

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

[Продавец может иметь несколько контрактов.

У контракта д.б. один продавец. ]

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

Подтипы и супертипы: одна сущность является обобщающим понятием для группы подобных сущностей. (н-р: супертип - летательный аппарат, подтип – самолет.)

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

Рекурсивная связь: сущность может быть связана сама с собой.

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

Рассмотрим представленные модели данных на примере нашей задачи.

Выделим основные сущности.

  • Автомобиль”- характеризуется лишь типом, т.е. либо скорый, либо пассажирский. Каждый автомобиль имеет некоторый набор характеристик.

  • Автомобилем управляет водитель, а в каждом автомобиле может находиться пассажир. Данные о водителях и пассажирах находятся в одной сущности “Персонал”, где для их различения используется флаг “водитель/пассажир”.

  • Отдельно определяется “справочник льгот”, содержащий данные о скидках ( в %) для каждой социальной группы.

  • И, наконец, “покупка” в которой храниться вся требуемая информация для регистрации и оформления заказа (т.е. дата покупки, пункты отбытия и прибытия, персональная информация о человеке, место, цена и флаг - куплен или взят в кредит).

1.Модель Чена:

2 . Модель Баркера:

6