Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
287
Добавлен:
06.02.2015
Размер:
619.63 Кб
Скачать
  1. Разработка базы данных

Предметная область базы данных «Работа аэропорта» состоит из сущностей и событий

Сущности:

  • аэропорты,

  • маршруты,

  • рейсы,

  • сведенья о рейсах,

  • сведенья о самолетах.

События:

  • добавление сведений о новом аэропорте,

  • добавление новых рейсов.

    1. Таблицы

На основе выше указанных данных создаются 6 таблиц.

  • Таблица аэропортов(Airport) содержит 5 столбцов: AirportID(ID Аэропорта), AirportCode(Код аэропорта), Airport Name(название аэропорта), CityName(название города),CountryCode(код страны)

Поле AirportID является первичным ключом.

  • Таблица маршрутов(Route) содержит 4 столбца: RouteID(ID маршрута), From(Откуда), To(Куда), Distance(Расстояние)

Поле RouteID является первичным ключом.

  • Таблица рейсов(Flight) содержит 3 поля: FlightID(ID рейса), RouteID(ID маршрута), AircraftID(ID самолета).

FlightID – первичный ключ, RouteID и AircraftID – внешние ключи.

  • Таблица самолетов(Aircraft) содержит 3 поля: AircraftID(ID самолета), AircraftTypeID(ID типа самолета), RegNum(Номер регистрации).

Поле AircraftID – первичный ключ. AircraftTypeID – внешний ключ.

  • Таблица типов самолетов(AircraftType) содержит 2 поля: AircraftTypeID(ID типа самолета), AircraftName(название самолета)

AircraftTypeID – первичнй ключ.

  • Таблица времени рейса(FlightDep) состоит из 3 полей: FlightID(ID рейса), DepDay(день вылета), DepTime(Время вылета).

FlightID – внешний ключ.

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

    1. Диаграмма базы данных

На диаграмме изображены таблицы и их связи друг с другом.

Таблица маршрутов связана с таблицей аэропортов с помощью двух внешних ключей From и To связью «один ко многим». Это означает, что выбор откуда и куда будет совершаться рейс, будет производиться из множества аэропортов.

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

Аналогично с таблицами самолеты. Таблица время рейсов связана внешним ключом с таблицей рейсы связью «один ко многим».

    1. Запросы

В базе данных присутствуют запросы на добавление аэропорта и добавление рейсов. Оба запроса написаны в виде хранимых процедур и вызываются впоследствии через приложение, написанное в среде MS Visual Studio 2010 на языке программирования C#. В ходе разработки приложения были использованы технологии Windows Form( для удобного интерфейса) и ADO.NET(обеспечивает доступ приложения, работающего на платформе .NET, к базе данных)

Запрос на добавление аэропорта Add_airport:

ALTER PROCEDURE addairport(@AirportCode char(3),@AirportName varchar(50),@CityName varchar(50),@CountryCode char(2))

AS

update Airport

set [AirportCode]=@AirportCode,

[AirportName]=@AirportName,

[CityName]=@CityName,

[CountryCode]=@CountryCode;

Запрос на добавление рейса Add_flight:

Процедура вывода на экран расписания по определенным дням недели:

ALTER PROCEDURE dbo.From_To

@Day char(3)

AS

Begin

SELECT Откуда, Куда, [Время вылета], [Тип самолета]

FROM v_timetable AS v

WHERE ([День вылета] = @Day)

End

Первоначально для этой процедуры было создано представление v_tabletime:

SELECT DISTINCT

r.RouteID, a1.CityName AS Откуда, a2.CityName AS Куда, fd.DepTime AS [Время вылета], fd.DepDay AS [День вылета],

dbo.AircraftType.AircraftName AS [Тип самолета]

FROM dbo.FlightDep AS fd INNER JOIN

dbo.Flight AS f ON fd.FlightID = f.FlightID INNER JOIN

dbo.Route AS r ON f.RouteID = r.RouteID INNER JOIN

dbo.Airport AS a1 ON r.[From] = a1.AirportID INNER JOIN

dbo.Airport AS a2 ON r.[To] = a2.AirportID INNER JOIN

dbo.Aircraft ON f.AircraftID = dbo.Aircraft.AircraftID INNER JOIN

dbo.AircraftType ON

dbo.Aircraft.AirctaftTypeID = dbo.AircraftType.AircraftTypeID

  1. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

    1. Начало работы

Запуск программы:

Чтобы запустить программу, необходимо открыть файл приложения Airport.exe.

Сервер:

Необходимо, чтобы служба SQL Server была включена. Для этого нужно выполнить следующие действия:

  • Открыть панель управления через меню “Пуск”

  • В панели управления выбрать пункт “Администрирование” “Службы”

  • Найти в списке служб SQL Server Правой кнопкой мыши: “Запустить”

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

    1. Список аэропортов

Для того, чтобы просмотреть список аэропортов, нужно нажать кнопку "Аэропорты" в правой части главного меню программы. После нажатия откроется окно:

    1. Меню для администрации

Для того чтобы воспользоваться возможностями администрации(внесение новых аэропортов и маршрутов в базу данных) нужно нажать на кнопку «Для администрации» в главном меню, после чего откроется окно:

Для того чтобы добавить новый аэропорт нажмите кнопку «Добавить аэропорт», в результате откроется следующее окно:

Для добавления маршрута нажмите кнопку «Добавить маршрут» в результате откроется следующее окно:

    1. Для пассажиров

Для просмотра информации для пассажиров нажмите на кнопку «Для пассажиров», перед вами откроется следующее меню:

Чтобы посмотреть расписание по дням недели нужно выбрать соответствующую кнопку, также чтобы посмотреть маршруты из одного города в другой нажмите на клавишу «Откуда/куда»

      1. Расписание по дням:

      1. Откуда/куда: