
Разработка базы данных
Предметная область базы данных «Работа аэропорта» состоит из сущностей и событий
Сущности:
аэропорты,
маршруты,
рейсы,
сведенья о рейсах,
сведенья о самолетах.
События:
добавление сведений о новом аэропорте,
добавление новых рейсов.
Таблицы
На основе выше указанных данных создаются 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 – внешний ключ.
Для функционирования базы данных необходимо связать все таблицы с помощью первичных и внешних ключей и на основе этого построить модель базы данных. Такая модель называется реляционной и описывается в виде диаграммы.
Диаграмма базы данных
На диаграмме изображены таблицы и их связи друг с другом.
Таблица маршрутов связана с таблицей аэропортов с помощью двух внешних ключей From и To связью «один ко многим». Это означает, что выбор откуда и куда будет совершаться рейс, будет производиться из множества аэропортов.
Таблица рейсов связана с таблицей маршрутов по типу «один ко многим», т.е для одного маршрута имеется много рейсов, и с таблицей самолетов с помощью той же связи «один ко многим» т.е. для одного рейса выбирается один самолет из множества самолетов.
Аналогично с таблицами самолеты. Таблица время рейсов связана внешним ключом с таблицей рейсы связью «один ко многим».
Запросы
В базе данных присутствуют запросы на добавление аэропорта и добавление рейсов. Оба запроса написаны в виде хранимых процедур и вызываются впоследствии через приложение, написанное в среде 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
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Начало работы
Запуск программы:
Чтобы запустить программу, необходимо открыть файл приложения Airport.exe.
Сервер:
Необходимо, чтобы служба SQL Server была включена. Для этого нужно выполнить следующие действия:
Открыть панель управления через меню “Пуск”
В панели управления выбрать пункт “Администрирование” “Службы”
Найти в списке служб SQL Server Правой кнопкой мыши: “Запустить”
Главное окно программы выглядит следующим образом. Для выполнения требуемых действий нужно выбрать соответствующий пункт меню.
Список аэропортов
Для
того, чтобы просмотреть список аэропортов,
нужно нажать кнопку "Аэропорты" в
правой части главного меню программы.
После нажатия откроется окно:
Меню для администрации
Для того чтобы воспользоваться возможностями администрации(внесение новых аэропортов и маршрутов в базу данных) нужно нажать на кнопку «Для администрации» в главном меню, после чего откроется окно:
Для того чтобы добавить новый аэропорт нажмите кнопку «Добавить аэропорт», в результате откроется следующее окно:
Для добавления маршрута нажмите кнопку «Добавить маршрут» в результате откроется следующее окно:
Для пассажиров
Для просмотра информации для пассажиров нажмите на кнопку «Для пассажиров», перед вами откроется следующее меню:
Чтобы посмотреть расписание по дням недели нужно выбрать соответствующую кнопку, также чтобы посмотреть маршруты из одного города в другой нажмите на клавишу «Откуда/куда»
Расписание по дням:
Откуда/куда: