Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой Проект, Базы Данных, документация.docx
Скачиваний:
19
Добавлен:
27.10.2018
Размер:
1.96 Mб
Скачать

3 Проектирование бд

    1. UML-моделирование

Для более полного представления о программе и расширенного понимания задачи, были построены наглядные UML диаграммы, которые дают более полное описание программного продукта, который будет создан в графическом виде.

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

На рисунке 3.1 приведена диаграмма прецедентов, которая более наглядно показывает функционал создаваемого программного продукта.

Пользователь

Создание произвольного запроса к БД

Добавление: клиента, места, экскурсии

Удаление: клиента, места, экскурсии

Поиск: клиента, места, экскурсии

Редактирование: клиента, места, экскурсии

Формирование отчетов

Оформление заказа

Рисунок 3.1 – Диаграмма прецедентов

В программе выполняется большое количество действия, поэтому для того чтобы дать более полую картинку о том как они происходят и что они собой представляют, была построена диаграмма деятельности, которая разбита на несколько частей из-за своей объёмности. Первая из них, на рисунке 3.2, где отображены реализации таких функций как редактирование, добавление и удаление из таблиц. Следующая диаграмма иллюстрирует действия, которые будут происходить в программе при поиске, диаграмма приведена на рисунке 3.3.

На рисунке 3.4 приведена диаграмма, которая показывает, каким образом будет формироваться отчёт в программе.

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

Выход

Добавление

Удаление

Выход

Заполнение

Заполнено корректно

Да

Внесение в базу

Нет

Выбор элемента

Подтверждение

Да

Удаление из базы

Нет

Редактирование

Выбор элемента

Внесение изменений

Заполнено корректно

Да

Нет

Внесение в базу

Рисунок 3.2 – Диаграмма действий для добавления, удаления, редактирования

Выбор таблицы

Не выбрана

Выбрана

Выбор типа поиска

Выдача результатов

Заполнение полей

Поиск в базе

Конец

Рисунок 3.3 – Диаграмма действия для поиска

Выбор типа отчета

Не выбран

Выбран

Формирование

Печатать?

Нет

Да

Печать

Конец

Рисунок 3.4 – Диаграмма действия для формирования отчётов

Получение страницы с информацией о месте с сайта

Ввод названия места

Длинна текста >0

Да

Нет

Парсинг полученной страницы встроенным парсером.

Соединение с сайтом в интернете и передача ему названия места

Место есть на сайте

Да

Распределение полученных данных в полях на форме для заполнения информации о месте

Нет

Сообщение о том что информацию о месте получить не удалось

Конец

Рисунок 3.5 – Диаграмма действия для задачи автоматизации

    1. ER-диаграмма

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

Главные сущности: «Клиенты», со свойствами: ID, Статус, ФИО, Контактные данные, которые являются оптимальным и минимальным набором данных при использовании в базе данных. «Экскурсии», со свойствами: ID, Стоимость, Длительность, Услуги, Название. «Места», со свойствами: ID, Климат, Условия, Местоположение.

Также введены две промежуточные сущности, такие как «Заказы», с полями ID клиента, ID экскурсии и Дата заказа, что является удобным при необходимости просмотра всех заказов на определённую дату или же получения информации по клиентам которые заказали ту или иную экскурсию. Другая дополнительная сущность – «Порядок», которая содержит поля: ID экскурсии, ID места и № маршрута. С помощью этой сущности можно легко получать список мест по заданному туру, список туров по указанному месту.

Сущность «Клиенты», связана с сущностью «Заказы» как один ко многим, аналогично сущность «Экскурсии» связана с сущностью «Заказы».

Также сущность «Экскурсии» связана с сущностью «Порядок», связью один ко многим соответственно. Сущность «Места» связана с сущностью «Порядок» связью один ко многим соответственно. На рисунке 3.6 представлена ER-диаграмма.

Клиенты

ID*

ФИО

Конт. Данные

Статус

Экскурсии

ID экскурсии *

Длительность

Стоимость

Услуги

Название

1

Заказы

ID клиента *

ID экскурсии

Дата*

1

1

Порядок

ID экскурсии *

ID места

№ маршрута *

Место

ID места *

Климат

1

Местополо-жение

Условия

Рисунок 3.6 – ER-диаграмма

    1. Схема базы данных в третьей нормальной форме

В ходе составления базы данных для программы, построении ER диаграммы, мы получили 4 таблицы: «Клиенты», «Заказы», «Экскурсии», «Место», каждая из которых имеет свои ключи, свои уникальные названия полей. Рассмотрим первую таблицу «Клиенты» (см. таблица 3.1), чтобы доказать что она находится в третьей нормальной форме.

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

Таблице клиенты аналогичны такие таблицы, как «Экскурсии», таблица 3.3 и «Места», таблица 3.5.

Таблицы же 3.2 и 3.4 «Заказы» и «Порядок» соответственно, имеют небольшие отличия от вышеописанных, имеют по 2 ключевых атрибута, а всего их 3, в каждой из таблиц, атрибуты являются атомарными, поскольку содержат лишь простые числовые атрибуты, такие как дата, ID и номер. В таблице «Заказы», однозначно можно определить заказ по ID клиента и по Дате, можно однозначно определить клиента и экскурсию, которую он заказал, так как у каждого клиента есть на одну дату возможен лишь один заказ. Поэтому, исходя из вышесказанного таблица «Заказы» находится в 3 нормальной форме.

Рассматривая «Порядок», прослеживается аналогия с таблицей «Заказы». Имея ID экскурсии, ID места и номер места в маршруте экскурсии, мы исключаем возможность дублирования, какого либо из полей, у каждой экскурсии, есть несколько неповторяющихся номеров, которым соответствуют определённые места в колонке с ID места. Ключами в таблице служат ID экскурсии и номер маршрута.

Нет противоречий тому, что таблица находится в третьей нормальной форме, поэтому таблица «Порядок» находится в третьей нормальной форме.

Схема данных, которая будет использована в программе, приведена на рисунке 3.7.

Таблица 3.1 – Клиенты

ID клиента*

ФИО

Контактные данные

Статус (рассчитываемая сумма)

2

Иванов Павел Григорьевич

г. Киев, ул. Шевченка, 12

25000

Таблица 3.2 – Заказы

ID клиента*

ID экскурсии

Дата*

2

6

12.03.2011

Таблица 3.3 – Экскурсии

ID экскурсии *

Длительность

Стоимость

Услуги

Название

6

25

20000

Все включено

Чешский отдых

Таблица 3.4 – Порядок

ID экскурсии*

ID места*

№ маршрута

6

2

1

6

1

3

Таблица 3.5 – Места

ID места*

Климат

Условия

Местоположение

2

Умеренно-континентальный

Повышенная влажность воздуха, малая загрязненность атмосферы, отсутствие промышленности.

Градец-кралове

1

Умеренно-континентальный

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

Прага

5

Умеренно-континентальный

Маленький городок, спокойствие, тишина, развитая инфраструктура.

Пльзень

3

Экваториальный

Жара, 365 дней в году солнце, буйная растительность,

Африка

Рисунок 3.7 – Схема данных