Проектирование и разработка базы данных "Аэропорт"

Цели проектирования базы данных "Аэропорт": обработка информации о рейсах, расписании самолетов и билетах. Анализ предметной области. Принцип работы модели. Особенности реализации информационной системы. Среда программирования клиентского приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 07.01.2014
Размер файла 2,4 M

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

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

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

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

ФГБОУ ВПО "Сибирский государственный технологический университет"

Факультет Автоматизации и Информационных Технологий

Кафедра Информационных Технологий

Реферат

ПО ДИСЦИПЛИНЕ

РАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА БАЗЫ ДАННЫХ "АЭРОПОРТ"

Руководитель Евдокимов Д.А.

Выполнил студент группы 23-8

Петров А.И.

Красноярск, 2013

Содержание

  • Введение
  • 1. Анализ предметной области
  • 1.1 Цель создания базы данных
  • 1.2 Перечень решаемых базой данных задач
  • 1.3 Перечень задач данной лабораторной работы
  • Принцип работы модели
  • 2. Разработка программы
  • 2.1 Как создавалось приложение
  • 2.2 Подробнее о модели и приложении
  • 2.3 Задачи, решаемые приложением
  • 2.4 Итог проделанной работы
  • 2.5 Особенности реализации
  • Заключение
  • Список использованных источников

Реферат

Курсовая работа представляет собой проектирование и разработка БД "АВИАКАССА", реализация приложения для работы пользователей с БД.

Модель БД проектируется и создается в программе ERWin.

В качестве СУБД взято ПО Firebird версии 2.5.

Среда программирования клиентского приложения: "Delphi Embarcadero XE5 2013".

Пояснительная записка включает в себя 19 страниц, 8 рисунков, 10 литературных источников.

Цель работы - Проектирование и разработка БД "АВИАКАССА", реализация приложения для БД.

Ключевые слова: функционал, interbase, firebird, delphi, данные, sql-запрос, диспетчер, кассир, пассажир, пользователь, транзакция, база данных, сущность, модель, приложение.

Введение

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

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

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

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

Согласно ГОСТ Р ИСО МЭК ТО 10032-2007:

База данных - совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.

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

Примеры:

1. Иерархическая

2. Объектная и объектно-ориентированная

3. Объектно-реляционная

4. Реляционная

5. Сетевая

6. Функциональная.

Задача создания базы данных первым делом подразумевает её проектирование:

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

Основные задачи проектирования баз данных:

Обеспечение хранения в БД всей необходимой информации.

Обеспечение возможности получения данных по всем необходимым запросам.

Сокращение избыточности и дублирования данных.

Обеспечение целостности базы данных.

Создание БД производится посредством СУБД.

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

Основные функции СУБД

1. управление данными во внешней памяти (на дисках);

2. управление данными в оперативной памяти с использованием дискового кэша;

3. журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

4. поддержка языков БД (язык определения данных, язык манипулирования данными).

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

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

1. Анализ предметной области

1.1 Цель создания базы данных

Главная цель создания базы данных "Аэропорт" состоит в том, чтобы обрабатывать информацию о рейсах, о расписании самолетов и о билетах.

1.2 Перечень решаемых базой данных задач

С помощью БД "Аэропорт" можно будет получать следующую информацию:

- о самолетах (тип самолета, места, скорость, высота полета);

- о расписании (№ рейса, пункт отправления, пункт назначения, время отправления, время полета, наличие мест, стоимость билета);

- о авиакомпаниях (название, телефон, сайт);

В приложении для работы с БД "Аэропорт" реализовано разделение пользователей по ролям:

Кассир (продажа билетов и работа с пассажирами) - Диспетчер (ввод служебной информации об аэропортах, рейсах, вылетах, и т. д…)

1.3 Перечень задач данной лабораторной работы

Темой данной работы является проектирование и реализация приложения для базы данных "Аэропорт".

Проектирование базы данных включает в себя:

- знакомство с предметной областью на примерах существующих БД

- определение главных сущностей базы - присвоение атрибутов для сущностей

- создание модели в приложении Erwin

- построение соответствий и отношений межу таблицами и атрибутами в модели БД

Реализация приложения базы данных состоит из:

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

1.4 Принцип работы модели

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

После анализа необходимо провести нормализацию данных.

Процесс нормализации заключается в приведении таблиц в так называемые нормальные формы. Существует несколько видов нормальных форм: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ).

Этот процесс включает:

устранение повторяющихся групп (приведение к 1НФ);

удаление частично зависимых атрибутов (приведение к 2НФ);

удаление транзитивно зависимых атрибутов (приведение к 3НФ).

В нашем случае процесс нормализации привёл к тому, что данные теперь можно привести к форме модели. В итоге мы имеем такие сущности как Авиакомпании, Аэропорты, Страны, Модели самолетов, Билеты, Классы мест, Расписание и Рейсы.

Идентификация характеристик сущностей:

Сущность Модели самолётов включает в себя следующие характеристики:

Марка самолета;

Количество мест на каждый из трёх классов;

Высота полета;

Скорость полета;

Сущность Авиакомпании включает в себя следующие характеристики:

Код авиакомпании;

Наименование;

Страна;

Телефон;

Сайт;

Самолетный парк;

Сущность Аэропорт включает в себя следующие характеристики:

Код аэропорта;

Название аэропорта;

Город;

Страна;

Сущность Страны включает в себя следующие характеристики:

Код страны;

Страна;

Сущность Расписание включает в себя следующие характеристики:

Код вылета;

Имя рейса;

Дата вылета;

Сущность Класс включает в себя следующие характеристики:

Класс;

Сущность Рейс включает в себя следующие характеристики:

Имя рейса;

Код авиакомпании;

Время в пути;

Аэропорт отправления;

Аэропорт прибытия;

Марка самолета;

Сущность Билет включает в себя следующие характеристики:

Код билета;

Имя рейса;

Дата вылета;

ФИО;

Паспортные данные;

Цена;

Место;

Класс;

Аэропорт вылета;

Аэропорт прилета;

Марка самолета;

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

Рисунок 1 - Логическая модель данных ERwin

2. Разработка программы

2.1 Как создавалось приложение

Программа представляет собой приложение для работы с базой данных "Аэропорт". После проектирования БД, для неё было запрограммировано пользовательское приложения для 3-х видов пользователей: Кассир, Диспетчер и Пассажир.

Процесс разработки (проектирования) базы данных включает два этапа:

разработку логической организации базы данных и создание ее на носителе.

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

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

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

Рисунок 2 - Физическая модель данных ERWin

база предметная область аэропорт

2.2 Подробнее о модели и приложении

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

Основополагающей сущностью является "Рейсы", в один рейс входит множество вылетов, которые отображены в таблице "Расписание" и каждый вылет самолета конкретного рейса вводится диспетчером вручную!

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

Атрибуты "Вид самолета" и "Время в пути" показывают говорящие за себя характеристики рейса.

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

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

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

Атрибут "Авиакомпания" необходим для информации. Информация об авиакомпаниях хранится в таблице "Авиакомпании".

Таблица "Страны" содержит в себе список стран. Внедрение необходимо для соблюдения первой нормальной формы проектирования баз данных.

Таблица "Классы" содержит в себе список существующих классов мест по самолетам.

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

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

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

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

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

2.3 Задачи, решаемые приложением

При разработке программного продукта стояли следующие задачи:

1) Разделить работу между пользователями БД "Кассир" и "Диспетчер".

2) Создать форму "Кассир" с отведенными для этого пользователя функциями и возможностями, которые включают в себя:

a. Просмотр всей справочной информации по БД за исключением возможности редактирования этой информации.

b. Форму для ввода данных о новом билете.

c. Быстрый поиск рейса, необходимого пассажиру.

d. Автоматическое определение свободных мест на рейс по классам.

e. Просмотр информации по существующим билетам, и её редактирование.

3) Создать форму "Диспетчер" с отведенными для этого пользователя функциями и возможностями, которые включают в себя:

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

b. Редактирование информации по билетам не разрешается, поскольку это не предусмотрено в разделении прав пользователей.

c. Создание новых пользователей и удаление существующих.

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

5) Задача создания формы "Авторизация" как следствие само собой разумеющегося вывода из первого пункта списка. Возможность просматривать расписание должна быть доступна любым пользователям, даже не зарегистрированным в БД.

2.4 Итог проделанной работы

Приложение реализовано следующим образом: При запуске перед нами открывается форма "Авторизация".

Рисунок 3 - форма "Авторизация"

Далее есть 3 пути развития событий:

1) Нажимаем на кнопку расписание

2) Вводим логин и пароль пользователя с ролью "Диспетчер"

3) Вводим логин и пароль пользователя с ролью "Кассир"

Согласно первому сценарию мы переходим в окно "Расписание":

Рисунок 4 - форма "Расписание"

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

Согласно второму сценарию мы переходим в окно "Диспетчер":

Рисунок 5 - форма "Диспетчер"

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

Помимо этого, информация по билетам доступна только для просмотра.

Для создания и удаления пользователей используется форма следующего вида:

Рисунок 6 - вкладка "Пользователи"

Причем редактирование существующих пользователей не предусмотрено. Только удаление и создание.

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

Рисунок 7 - форма "Кассир"

В этом окне, согласно подсказкам, пользователь "Кассир" создаёт билеты и заносит их в БД.

Помимо этого, информация по Рейсам, Расписанию полетов, Самолетам, Авиакомпаниям, Странам и Аэропортам доступна только для просмотра.

2.5 Особенности реализации

В большинстве случаев при формировании данных для отображения, создания и редактирования были использованы компоненты Delphi XE5: interbase - ibquery и ibtable.

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

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

При создании кассиром билета и занесении его в БД, используется ёмкая и громоздкая запись поэлементного определения атрибутов записи, которую предстоит занести в БД. Посредством заранее написанной "Хранимой процедуры", можно сократить написание кода в повторяющихся местах программы. К примеру, была создана процедура для уменьшения кода операции добавления билета в БД:

SET TERM ^;

CREATE OR ALTER PROCEDURE ADDTICKET (

f varchar (20),

i varchar (20),

o varchar (20),

pas integer,

cl integer,

pl integer,

fl2 integer,

fl integer,

cost integer)

as

begin

insert INTO TICKET (SIRNAME, NAME,FATHER_NAME, PASSPORT, CLASS, PLACE, ID_FLIGHT2, ID_FLIGHT, COST)

VALUES (: F,: I,: O,: Pas,: Cl,: Pl,: Fl2,: Fl,: Cost);

end^

SET TERM; ^

Так созданная процедура применяется в самом приложении:

Рисунок 8 - использование "Хранимых Процедур"

Заключение

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

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

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

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

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

1. ГОСТ 2.105 - 95. Общие требования к текстовым документам. - Взамен ГОСТ 2.105 - 79, ГОСТ 2.906 - 71; Введен с 01.07.96. - М.: Издательство стандартов, 1996. - 36 с. - (Гос. стандарт Российской Федерации). Группа ЕСКД.

2. СТП 3.4.104 - 01. Курсовое проектирование. Требования к выполнению и представлению. - Взамен СТП 17 - 87; Введен с 24.06.02. - Красноярск, СибГТУ, 2002. - 12 с.

3. СТП 3.4.204-01. Стандарт предприятия. Требования к оформлению текстовых документов. - Красноярск: СибГТУ, 2001. - 46 с.

4. Ачкасов В.Ю. - Программирование баз данных в Delphi. pdf - 255 c.

5. http://firebirdsql.org/ - официальный сайт Firebird.

6. Ковязин А.Н., Востриков С. М.; - Архитектура, разработка и администрирование приложений баз данных в Interbase, Firebird, Yaffil; - 2003 - 473 c.

7. Wikipedia®2001- ru. wikipedia.org/wiki/Система_управления_базами_ данных.

8. Wikipedia®2001 - http://ru. wikipedia.org/wiki/Проектирование_баз_ данных.

9. Wikipedia®2001 - http://ru. wikipedia.org/wiki/База_данных.

10. Сорокин А.В. - Delphi. Разработка базы данных; - Изд-во: Питер; - 2005. - 474с.

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


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

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

    курсовая работа [1,3 M], добавлен 08.08.2012

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

    курсовая работа [1,5 M], добавлен 07.06.2013

  • Автоматизация системы снятия показаний счетчиков энергии. Разработка базы данных и клиентского приложения для структур жилищно-коммунального хозяйства, занимающихся составлением квитанций. Описание предметной области. Тестирование клиентского приложения.

    курсовая работа [953,3 K], добавлен 01.09.2016

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

    курсовая работа [2,1 M], добавлен 15.06.2014

  • Анализ предметной области, этапы проектирования автоматизированных информационных систем. Инструментальные системы разработки программного обеспечения. Роль CASE-средств в проектировании информационной модели. Логическая модель проектируемой базы данных.

    курсовая работа [410,6 K], добавлен 21.03.2011

  • Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.

    дипломная работа [1,0 M], добавлен 12.07.2015

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

    курсовая работа [700,0 K], добавлен 14.01.2015

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

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

    курсовая работа [1,7 M], добавлен 18.01.2012

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

    курсовая работа [3,8 M], добавлен 25.06.2011

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