Информационная система туристического клуба

Теоретические аспекты проектирования баз данных. Определение предметной области информационной системы, этапы ее проектирования. Особенности инфологического и даталогического видов проектирования. Реализация проекта в среде SQL Server Enterprise Manager.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.03.2014
Размер файла 511,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

"Комсомольский-на-Амуре государственный

технический университет"

Факультет компьютерных технологий

Кафедра "Информационные системы"

Курсовая работа

по дисциплине "Базы данных"

Информационная система туристического клуба

Студентка группы 1БИ (б) - 1 Е.М. Халявина

Руководитель проекта.Ю. Казаков

Нормоконтролёр М.Ю. Казаков

2013

Содержание

  • Введение
  • 1. Теоретические аспекты проектирования баз данных
  • 2. Проектирование информационной системы
  • 2.1 Инфологическое проектирование
  • 2.2 Даталогическое проектирование
  • 2.3 Реализация проекта в среде SQL Server Enterprise Manager
  • Заключение
  • Список использованных источников

Введение

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

Данная курсовая работа направлена на закрепление знаний и умений по дисциплине "Базы данных" и выработку новых навыков в создании реляционных баз данных.

1. Теоретические аспекты проектирования баз данных

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

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

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

Третий этап проектирования состоит в привязке ДЛМ к среде хранения с помощью модели данных физического уровня. Описание физической структуры БД называется схемой хранения, соответствующий этап проектирования БД - физическим проектированием.

Общие сведения об ИЛМ. В предметной области в результате анализа ИЛМ выделяют классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств.

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

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

Рисунок 1 - Обозначение объектов и их свойств

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

Различают связи типа: один к одному, один ко многим, многие ко многим.

Кроме степени связи в ИЛМ для характеристики связи между разными объектами указывается класс принадлежности, который показывает, может ли отсутствовать связь объекта одного класса с каким-либо объектом другого класса. Различают обязательный и необязательный класс принадлежности.

Среди объектов различают простые и сложные.

Сложные объекты подразделяют на составные, обобщенные и агрегированные.

Составной объект соответствует отображению связи "целое - часть".

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

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

Общие сведения о ДЛМ. Даталогическое проектирование является проектированием логической структуры БД, что означает определение всех информационных единиц и связей между ними, задание их имен и типов, а также некоторых количественных характеристик (например, длины поля).

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

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

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

Для перехода от ИЛМ к реляционной можно воспользоваться следующими рекомендациями:

1) Для каждого простого объекта и его единичных свойств строится таблица, атрибутами которой являются идентификатор объекта и реквизиты, соответствующие каждому из единичных свойств;

2) Если у объекта имеются множественные свойства, то каждому из них ставится в соответствие отдельная таблица;

3) Если между объектом и его свойством имеется условная связь, то при отображении в реляционную модель возможны следующие варианты:

· если многие из объектов обладают рассматриваемым свойством, то его можно хранить в БД так же, как и обычное свойство;

· если только незначительное число объектов обладает указанным свойством, то при использовании предыдущего решения для многих записей в таблице значение соответствующего поля будет пустым. Для устранения этого недостатка выделяют отдельную таблицу, которая будет включать в себя идентификатор объекта и атрибут, соответствующий рассматриваемому свойству;

4) Если связь между объектами 1: 1 и классы принадлежности обоих объектов являются обязательными, то для отображения данных объектов и связи между ними:

· можно использовать одну таблицу, первичным ключом которой может быть идентификатор любого из двух объектов;

· можно для каждого из этих объектов использовать отдельные таблицы, а связь между ними отразить, включив в одну из таблиц идентификатор связанного объекта из другой таблицы;

6) Если связь между объектами 1: 1 и класс принадлежности одного объекта является обязательным, а другого - необязательным, то для каждого из этих объектов используют отдельные таблицы, а идентификатор объекта, для которого класс принадлежности является необязательным, добавляется в таблицу, соответствующую тому объекту, для которого класс принадлежности обязательный;

7) Если связь между объектами 1: 1 и класс принадлежности каждого объекта является необязательным, то следует использовать три таблицы: по одной для каждого объекта и одно для отображения связи между ними;

8) Если между объектами предметной области имеется связь 1: М и класс принадлежности n - связного объекта является обязательным, то используют две таблицы: по одной для каждого объекта, и в таблицу, соответствующую n - связному объекту, добавляется идентификатор 1 - связного объекта;

9) Если между объектами предметной области имеется связь 1: М и класс принадлежности n - связного объекта является необязательным, то создают три таблицы: по одной для каждого объекта и одну для отображения связи между ними;

10) Если между объектами предметной области имеется связь М: М, то для хранения такой информации потребуется три таблицы: по одной для каждого объекта и одна для отображения связи между ними (классы принадлежности могут быть: оба - обязательными, оба - необязательными, один - обязательный, другой - необязательный);

11) Агрегированному объекту, имеющему место в предметной области, в ДЛМ ставится в соответствие одна таблица, атрибутами которой являются идентификаторы всех объектов, "задействованных" в данном агрегированном объекте, а также реквизиты, соответствующие свойствам этого объекта. Такое объединение информации в одну таблицу возможно только в том случае, если между объектами имеется связь 1:

1. Если же между объектами имеется связь М: 1 (или М: М), то выделяют по одной таблице для каждого объекта и одну таблицу для связи;

12) При отображении обобщенных объектов могут быть приняты разные решения:

· всему обобщенному объекту может быть поставлена в соответствие одна таблица:

· каждой из категорий ставится в соответствие отдельная таблица.

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

Строки таблицы содержат сведения о представленных в ней фактах (об однотипных объектах). На пересечении столбца и строки находятся конкретные значения содержащихся в таблице данных.

Данные в таблицах удовлетворяют следующим принципам:

1) Каждое значение, содержащееся на пересечении строки и столбца, должно быть атомарным.

2) Значения данных в одном и том же столбце должны принадлежать к одному и тому же типу, доступному для использования в данной СУБД.

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

4) Каждое поле имеет уникальное имя.

5) Последовательность полей в таблице несущественна.

6) Последовательность записей в таблице несущественна.

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

Поскольку последовательность полей в таблице несущественна, обращение к ним производится по имени, и эти имена для данной таблицы уникальны (но не обязаны быть уникальными для всей базы данных).

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

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

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

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

Группа связанных таблиц называется схемой базы данных.

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

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

Пусть имеется отношение r (A1, A2, …, An). Атрибут А2 отношения r функционально зависит от атрибута A1 того же отношения, если в каждый момент времени каждому значению атрибута А1 соответствует не более, чем одно значение атрибута А2 (то есть функциональная зависимость А2 от А1 означает, что если в любой момент времени известно значение А1, то можно однозначно получить и значение А2). Обозначается: А1 А2.

В связи с этим дадим определение полной функциональной зависимости.

Если в отношении 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).

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

Для решения таких задач предназначены запросы. Запрос сообщает, какая именно информация интересует пользователя в настоящий момент. В нем можно указать, какие:

· таблицы содержат нужную информацию;

· записи нужно выбрать из таблиц БД и порядок их сортировки;

· поля должны быть выданы на экран;

· вычисления следует выполнить над выбранными данными.

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

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

· добавление новых записей в таблицу;

· удаление записей из таблицы;

· изменение содержимого полей таблицы.

Запрос часто используется в качестве источника данных при создании формы или отчета. Открытие такой формы или отчета автоматически приводит к выполнению соответствующего запроса. Поэтому на экране всегда присутствует самая "свежая" информация об объекте.

1. Получить список туристов, занимающихся в клубе, в указанной группе, по половому признаку. Запрос представлен на рисунке 17.

2. Получить список тренеров указанной секции по размеру заработной платы. Запрос представлен на рисунке 18.

3. Получить перечень соревнований, в которых участвовали спортсмены. Запрос представлен на рисунке 19.

4. Получить общее число туристов из некоторой группы, которые

ходили в указанный поход. Запрос представлен на рисунке 20.

5. Получить перечень руководителей секций полностью по году рождения. Запрос представлен на рисунке 21.

6. Получить общее число маршрутов, по которым ходили туристы из указанной секции, по которым водил свои группы данный инструктор. Запрос представлен на рисунке 22.

7. Получить перечень маршрутов, которые могут удовлетворять заданной категории сложности. Запрос представлен на рисунке 23.

8. Получить перечень инструкторов, которые ходили в указанное количество походов. Запрос представлен на рисунке 24.

9. Получить список туристов из указанной группы, которые ходили в походы со своим тренером в качестве инструктора. Запрос представлен на рисунке 25.

3 Приложение для базы данных

В среде Delphi 7 было создано приложение для просмотра таблиц базы данных.

На форме были размещены следующие объекты:

· ADOConnection - объект, который обеспечивает связь с SQL Server.

· ADOTable - объект, который обеспечивает связь с таблицами.

· DataSourse - объект, который обеспечивает связь между набором данных и компонентами отображения и редактирования данных.

· DBGrid - окно, в котором отображаются таблицы.

· Button - кнопка, которая дает команду вывода таблицы.

· DBNavigator - объект, который позволяет работать с таблицами (перемещение по таблице, добавление/удаление записей и т.д.)

Форма представлена на рисунке 26.

Тестирование приложения представлено на рисунках 27 - 29.

Заключение

Выполнение курсовой работы является заключительным этапом в освоении дисциплины "Базы данных". В ходе работы были расширены теоретические и практические знания, развиты навыки самостоятельной исследовательской работы. Также в ходе работы были: произведен анализ предметной области, построена инфологическая модель, создана база данных, осуществлены запросы и создано приложение для удобного вывода информации.

Список использованных источников

1 Левчук, Т.А. Базы данных: Учебное пособие. / Т.А. Левчук - Комсомольск-на-Амуре: ГОУВПО "КнАГТУ", 2005. - 86 с.

2 Бобровский, С.И. Delphi 7/С.И. Бобровский. - СПб.: Питер, 2006.

3 Дейт, К. Введение в системы баз данных / К. Дейт. - СПб.: Вильямс, 2008.

4 Кириллов, В.В. Основы проектирования реляционных баз данных / В.В. Кириллов. - СПб.: ИТМО.

5 Фаронов, В.В. DELPHI. Программирование на языке высокого уровня. / В.В. Фаронов. - СПб.: Питер, 2007.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.