Database description
1. Таблица bookings.bookings (Бронирования):
- book_ref (bpchar(6)) — Номер бронирования.
- book_date (timestamptz) — Дата и время бронирования.
- total_amount (numeric(10, 2)) — Общая стоимость бронирования.
2. Таблица bookings.airports_data (Данные аэропортов):
- airport_code (bpchar(3)) — Код аэропорта.
- airport_name (jsonb) — Название аэропорта.
- city (jsonb) — Город.
- coordinates (point) — Координаты аэропорта (долгота и широта).
- timezone (text) — Часовой пояс аэропорта.
3. Таблица bookings.ticket_flights (Билеты на рейсы):
- ticket_no (bpchar(13)) — Номер билета.
- flight_id (int4) — ID рейса.
- fare_conditions (varchar(10)) — Условия тарифа.
- amount (numeric(10, 2)) — Стоимость билета.
4. Таблица bookings.boarding_passes (Посадочные талоны):
- ticket_no (bpchar(13)) — Номер билета.
- flight_id (int4) — ID рейса.
- boarding_no (int4) — Номер посадочного талона.
- seat_no (varchar(4)) — Номер места.
5. Таблица bookings.seats (Места):
- aircraft_code (bpchar(3)) — Код самолета.
- seat_no (varchar(4)) — Номер места.
- fare_conditions (varchar(10)) — Условия тарифа.
6. Таблица bookings.flights (Рейсы):
- flight_id (serial4) — ID рейса.
- flight_no (bpchar(6)) — Номер рейса.
- scheduled_departure (timestamptz) — Запланированное время вылета.
- scheduled_arrival (timestamptz) — Запланированное время прибытия.
- departure_airport (bpchar(3)) — Аэропорт вылета.
- arrival_airport (bpchar(3)) — Аэропорт прибытия.
- status (varchar(20)) — Статус рейса.
- aircraft_code (bpchar(3)) — Код самолета.
- actual_departure (timestamptz) — Фактическое время вылета.
- actual_arrival (timestamptz) — Фактическое время прибытия.
7. Таблица bookings.aircrafts_data (Данные самолетов):
- aircraft_code (bpchar(3)) — Код самолета.
- model (jsonb) — Модель самолета.
- range (int4) — Максимальный дальность полета (км).
8. Представление bookings.routes (Маршруты)
Это представление агрегирует данные о рейсах, предоставляя информацию о маршрутах, которые соединяют два аэропорта с учетом дней недели, на которых выполняются рейсы. Оно собирает данные о рейсах из таблицы flights и информации о аэропортах из таблицы airports.
- flight_no (bpchar(6)) — Номер рейса.
- departure_airport (bpchar(3)) — Аэропорт вылета (код аэропорта).
- departure_airport_name (varchar) — Название аэропорта вылета.
- departure_city (varchar) — Город, в котором находится аэропорт вылета.
- arrival_airport (bpchar(3)) — Аэропорт прибытия (код аэропорта).
- arrival_airport_name (varchar) — Название аэропорта прибытия.
- arrival_city (varchar) — Город, в котором находится аэропорт прибытия.
- aircraft_code (bpchar(3)) — Код самолета, выполняющего рейс.
- duration (interval) — Продолжительность рейса (разница между временем запланированного прибытия и вылета).
- days_of_week (integer[]) — Массив чисел, представляющих дни недели, в которые выполняется рейс (например, 1 для понедельника, 2 для вторника и т.д.).
9. Представление bookings.aircrafts (Самолеты)
Это представление извлекает информацию о самолетах из таблицы aircrafts_data, включая код самолета, модель и его дальность полета.
- aircraft_code (bpchar(3)) — Код самолета.
- model (varchar) — Модель самолета, извлеченная из поля
modelв формате JSON в зависимости от текущего языка (используется функцияlang()для выбора соответствующего языка). - range (integer) — Дальность полета самолета.
10. Представление bookings.airports (Аэропорты)
Это представление извлекает информацию о аэропортах из таблицы airports_data, включая код аэропорта, название, город, координаты и часовой пояс. Названия аэропортов и городов локализуются в зависимости от языка пользователя.
- airport_code (bpchar(3)) — Код аэропорта.
- airport_name (varchar) — Название аэропорта, извлеченное из поля
airport_nameв формате JSON, с учетом текущего языка (используется функцияlang()для выбора соответствующего языка). - city (varchar) — Город, в котором находится аэропорт, извлеченный из поля
cityв формате JSON, с учетом текущего языка. - coordinates (varchar) — Координаты аэропорта.
- timezone (varchar) — Часовой пояс аэропорта.
11. Представление bookings.flights_v (рейсы)
Это представление объединяет данные из таблиц flights (рейсы) и airports (аэропорты), преобразуя их в удобный для анализа формат. Оно позволяет получить информацию о рейсах с учётом часовых поясов и продолжительности полетов, а также фактические времена вылетов и прибытия.
- flight_id (int4) — ID рейса.
- flight_no (bpchar(6)) — Номер рейса.
- scheduled_departure (timestamptz) — Запланированное время вылета.
- scheduled_departure_local (timestamptz) — Запланированное время вылета в локальной временной зоне аэропорта вылета.
- scheduled_arrival (timestamptz) — Запланированное время прибытия.
- scheduled_arrival_local (timestamptz) — Запланированное время прибытия в локальной временной зоне аэропорта прибытия.
- scheduled_duration (interval) — Продолжительность запланированного рейса (разница между временем запланированного прибытия и вылета).
- departure_airport (bpchar(3)) — Аэропорт вылета (код аэропорта).
- departure_airport_name (varchar) — Название аэропорта вылета.
- departure_city (varchar) — Город, в котором находится аэропорт вылета.
- arrival_airport (bpchar(3)) — Аэропорт прибытия (код аэропорта).
- arrival_airport_name (varchar) — Название аэропорта прибытия.
- arrival_city (varchar) — Город, в котором находится аэропорт прибытия.
- status (varchar(20)) — Статус рейса (например, "вылетел", "прибыл" и т.д.).
- aircraft_code (bpchar(3)) — Код самолета.
- actual_departure (timestamptz) — Фактическое время вылета.
- actual_departure_local (timestamptz) — Фактическое время вылета в локальной временной зоне аэропорта вылета.
- actual_arrival (timestamptz) — Фактическое время прибытия.
- actual_arrival_local (timestamptz) — Фактическое время прибытия в локальной временной зоне аэропорта прибытия.
- actual_duration (interval) — Фактическая продолжительность рейса (разница между фактическим временем прибытия и вылета).