Информационная система туристического клуба
Курсовая работа, 10 Марта 2014, автор: пользователь скрыл имя
Краткое описание
Использование баз данных и информационных систем становится неотъемлемой составляющей деловой деятельности современного человека и функционирования, шагающих в ногу со временем организаций. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов. От правильного выбора инструментальных средств создания информационных систем, определения подходящей модели данных, обоснования рациональной схемы построения базы данных, организации запросов к хранимым данным и ряда других моментов во многом зависит эффективность функционирования разрабатываемых систем. Все это требует осознанного применения теоретических положений и инструментальных средств разработки баз данных и информационных систем.
Вложенные файлы: 1 файл
Курсовая работа по БД.docx
— 827.35 Кб (Скачать файл)В связи с этим дадим определение полной функциональной зависимости.
Если в отношении r для множеств атрибутов А1 и А2 имеет место А1 ® А2 и при этом ↛ А2, где – подмножество А1 ( ), то говорят, что множество атрибутов А2 функционально полно зависит от всего множества А1, но не зависит ни от какого подмножества А1.
Нормальные формы. Наличие тех или иных зависимостей в отношении определяет степень его нормализации.
Определение первой нормальной формы (1НФ): отношение r находится в 1НФ, если каждый его элемент имеет и всегда будет иметь атомарное значение.
Определение второй нормальной формы (2НФ): отношение r находится во 2НФ, если оно находится в 1НФ и если каждый его атрибут, не являющийся основным атрибутом, функционально полно зависит от первичного ключа этого отношения.
Атрибут Ai отношения r называют основным атрибутом, если он является элементом первичного ключа данного отношения.
Приведение отношения ко 2НФ заключается в обеспечении полной функциональной зависимости всех неосновных атрибутов от первичного ключа за счет разбиения отношения на несколько.
Определение третьей нормальной формы (3НФ): отношение r находится в 3НФ, если оно является отношением во 2НФ, и каждый его атрибут, не являющийся основным, не транзитивно зависит от первичного ключа этого отношения.
Транзитивная зависимость определяется следующим образом: если X ® Y и Y ® Z, то X ® Z (Z транзитивно зависит от X).
Приведение отношения к 3НФ заключается в устранении транзитивных зависимостей в отношении путем разбиения исходного отношения r(X, Y, Z) на: r1(X, Y) и r2(Y, Z).
Отношение может быть в 3НФ и при этом все же иметь некоторые нежелательные свойства. Для устранения недостатков 3НФ вводится четвертая нормальная форма.
Первая разновидность известна под названием нормальной формы Бойса - Кодда (НФБК) (в некоторых литературных источниках она называется усовершенствованной 3НФ).
Определение: отношение r находится в НФБК, если и только если каждый детерминант отношения является возможным ключом.
Детерминантом отношения называют атрибут (возможно, составной) от которого функционально полно зависит другой атрибут.
2 Проектирование информационной системы
2.1 Инфологическое проектирование
Туристы, приходящие в туристический клуб, могут не только ходить в плановые походы, но и заниматься в различных секциях в течение всего года. Для этого они записываются в группы, относящиеся к определенным секциям.
Туристов можно условно разделить на любителей, спортсменов и тренеров. Каждая из перечисленных категорий может иметь свой набор характеристик-атрибутов. Секции клуба возглавляются руководителями, в функции которых входит контроль за работой секции. В работе секции участвуют тренеры, административно относящиеся к одной из секций. Руководитель секции назначает каждой группе тренера. Тренер может тренировать несколько групп, причем необязательно принадлежащих его секции. Спортсмены и тренеры могут участвовать в различных соревнованиях.
Каждый год составляется расписание работы секций. В нем указывается, какие будут проводиться тренировки и в каких секциях: их количество, место, время и т.д. В соответствии с этим руководители секций осуществляют распределение нагрузки для тренеров (с учетом их специальности). Сведения о проведенных тренировках и посещаемости тренировок собираются руководителями.
В течение года клуб организует различные походы. Каждый поход имеет свой маршрут, на который отводится определенное количество дней. По маршруту и количеству дней определяется категория сложности данного похода. Поход возглавляет инструктор, которым может быть какой-либо тренер или спортсмен. Он набирает группу в количестве 5-15 человек для своего похода, исходя из типа похода (пеший, конный, водный, горный) и физических данных туристов (по их занятиям в секциях: водники, спелеологи, альпинисты и другие, с учетом специфики занятий - не умеющего плавать никогда не возьмут на сплав, а в пеший поход небольшой категории сложности могут взять любого туриста). Инструктор может водить в походы данной категории сложности, если он сам ее ранее уже прошел. Походы могут быть плановыми и неплановыми. Для каждого планового похода существует точный план, в котором указывается маршрут, расписание привалов и стоянок на каждый день. Во время планового похода ведется дневник. Неплановые походы имеют только маршрут и полное время его прохождения. Неплановый поход может быть переведен в категорию плановых. Каждому туристу присваивается категория максимально сложного из пройденных им плановых походов.
В результате анализа предметной области были выявлены следующие сущности:
- Группа
- Турист
- Категория туриста
- Соревнования
- Поход
- Категория похода
- Секция
- Тренировка
- Маршрут
- Распределение категорий
Для каждой сущности были определены следующие атрибуты:
- Группа (№)
- Турист (ФИО, пол, день рождения, зарплата)
- Категория туриста (название)
- Соревнования (название)
- Поход (категория сложности, дата)
- Категория похода (название)
- Секция (название, место, дни, время начала, время окончания, ФИО руководителя, зарплата руководителя, год рождения руководителя, год устройства)
- Тренировка (дата, длительность)
- Маршрут (название, количество дней, начало, конец, привалы, стоянки)
- Распределение категорий
Опишем инфологическую модель графическими средствами, то есть построим ER-модель (рисунок 2).
2.2 Даталогическое проектирование
Преобразуем инфологическую модель в реляционную модель, следуя установленным правилам:
- Группа (код группы, №, код тренера, код секции)
- Турист (код туриста, ФИО, пол, день рождения, зарплата)
- Категория туриста (код категории туриста, название)
- Соревнования (код соревнования, название)
- Поход (код похода, категория сложности, дата, код инструктора, код категории похода, код маршрута)
- Категория похода (код категории похода, название)
- Секция (код секции, название, место, дни, время начала, время окончания, ФИО руководителя, зарплата руководителя, год рождения руководителя, год устройства)
- Тренировка (код тренировки, код группы, дата, длительность)
- Маршрут (код маршрута, количество дней, начало, конец, привалы, стоянки)
- Распределение категорий (код распределения категорий, код категории туриста, код туриста, код секции)
- Туристы в группе (код туриста в группе, код туриста, код группы)
- Туристы в походе (код туриста в походе, код туриста, код похода)
- Туристы в соревновании (код туриста в соревновании, код туриста, код соревнования).
Проверим, состоят ли отношения в 1 нормальной форме. Все отношения находятся в 1 нормальной форме, т.к. все строки таблиц различны и все элементы ячеек атомарны.
Проверим, состоят ли отношения в 2 нормальной форме. Все отношения находятся во 2 нормальной форме, т.к. таблицы находятся в 1 нормальной форме и все неключевые поля функционально – полно зависят от ключа.
Проверим, состоят ли отношения в 3 нормальной форме. Все отношения находятся в 3 нормальной форме, т.к. таблицы находятся во 2 нормальной форме и каждый неключевой атрибут нетранзитивно зависит от ключа.
Проверим, состоят ли отношения в нормальной форме Бойса-Кодда. Все отношения находятся в нормальной форме Бойса-Кодда, т.к. таблицы находятся в 3 нормальной форме и все таблицы содержат по одному потенциально – первичному ключу.
Проверим, состоят ли отношения в 4 нормальной форме. Все отношения находятся в 4 нормальной форме, т.к. таблицы находятся в нормальной форме Бойса-Кодда и все таблицы содержат не более одной многозначной зависимости.
2.3 Реализация проекта в среде SQL Server Enterprise Manager
Реализуем спроектированные отношения в среде SQL Server Enterprise Manager путем создания таблиц в режиме конструктора (рисунок 3 -15).
Рисунок 3 - Создание таблицы "Группа"
Рисунок 4 - Создание таблицы "Турист"
Рисунок 5 - Создание таблицы "Категория туриста"
Рисунок 6 - Создание таблицы "Соревнования"
Рисунок 7 - Создание таблицы "Поход"
Рисунок 8 - Создание таблицы "Категория похода"
Рисунок 9 - Создание таблицы "Секция"
Рисунок 10 - Создание таблицы "Тренировка"
Рисунок 11 - Создание таблицы "Маршрут"
Рисунок 12 - Создание таблицы "Распределение категорий"
Рисунок 13 - Создание таблицы "Туристы в группе"
Рисунок 14 - Создание таблицы "Туристы в походе"
Рисунок 15 - Создание таблицы "Туристы в соревновании"
В итоге получается спроектированная СУБД (рисунок 16):
Рисунок 16 – Спроектированная СУБД
Создание запросов.
При работе с БД часто возникает необходимость выбрать из нее информацию, удовлетворяющую определенным условиям, или произвести различные вычисления.
Для решения таких задач предназначены запросы. Запрос сообщает, какая именно информация интересует пользователя в настоящий момент. В нем можно указать, какие:
- таблицы содержат нужную информацию;
- записи нужно выбрать из таблиц БД и порядок их сортировки;
- поля должны быть выданы на экран;
- вычисления следует выполнить над выбранными данными.
Запросы могут быть использованы для выделения в таблицах различных групп данных и выполнения над ними вычислений и сравнений.
С их помощью можно также выполнить следующие операции:
- добавление новых записей в таблицу;
- удаление записей из таблицы;
- изменение содержимого полей таблицы.
Запрос часто используется в качестве источника данных при создании формы или отчета. Открытие такой формы или отчета автоматически приводит к выполнению соответствующего запроса. Поэтому на экране всегда присутствует самая «свежая» информация об объекте.
- Получить список туристов, занимающихся в клубе, в указанной группе, по половому признаку. Запрос представлен на рисунке 17.
- Получить список тренеров указанной секции по размеру заработной платы. Запрос представлен на рисунке 18.
- Получить перечень соревнований, в которых участвовали спортсмены. Запрос представлен на рисунке 19.
Рисунок 19 - Запрос №3
- Получить общее число туристов из некоторой группы, которые
ходили в указанный поход. Запрос представлен на рисунке 20.
Рисунок 20 – Запрос №5
- Получить перечень руководителей секций полностью по году рождения. Запрос представлен на рисунке 21.
Рисунок 21 - Запрос №6
- Получить общее число маршрутов, по которым ходили туристы из указанной секции, по которым водил свои группы данный инструктор. Запрос представлен на рисунке 22.
Рисунок 22 - Запрос №8
- Получить перечень маршрутов, которые могут удовлетворять заданной категории сложности. Запрос представлен на рисунке 23.
Рисунок 23 – Запрос №9
- Получить перечень инструкторов, которые ходили в указанное количество походов. Запрос представлен на рисунке 24.