Курсовая работа: Автоматизированная система бронирования авиабилетов
- AircraftID – идентификатор самолета;
- AircraftModel – модель самолета;
- Count1 – общее количество мест первого класса;
- Count2 – общее количество мест второго класса.
R5= COMPANIES (ID, COMPANY_NAME, COMPANY_PHONE),
где:
- CompanyID – идентификатор компании;
- CompanyName– название авиакомпании.
R6 = USERS (ID, USER_NAME),
где
- UserID – идентификатор пользователя;
- UserLogin – имя пользователя;
- Password – пароль пользователя;
- Email – e-mail пользователя.
Данная схема отношений находится в 1 НФ, так все входящие в нее атрибуты являются атомарными (неделимыми). Более того, данная схема находится в НФ Бойса-Кодда, так как она находится в 1 НФ и никакой атрибут не зависит транзитивно ни от одного ключа.
Даталогическая схема базы данных приведена на рисунке 2. На нем помимо отношений и связей между ними показаны также соответствующие атрибутам типы данных.
Рисунок 2 – Даталогическая модель базы данных
3. Реализация запросов
В системе реализованы следующие виды запросов:
3.1 Получение информации по рейсам
Результаты данного запроса включают в себя следующую информацию: id рейса, название авиакомпании, модель, дату и время отправления, продолжительность полета, пункт назначения, цены на билеты каждого класса, количество свободных мест каждого класса.
Для того, чтобы представить данные именно в такой форме необходимо выполнить дополнительные операции. Так в базе данных нет поля продолжительность полета, зато есть поля дата отправления и дата прибытия. По ним легко получить продолжительность. Для её вычисления была создана функция timeFlight:
CREATE FUNCTION [dbo].[timeFlight]
(
@dateArrival datetime,
@dateDeparture datetime
)