База данных Bookings (PostgreSQL)
Предметной областью этой базы данных являются рейсы авиакомпаний через различные аэропорты.
ER диаграмма базы данных Bookings
База данных Bookings содержит 8 таблиц:
aircrafts_data - таблица самолетов.
- aircraft_codeУникальный код для каждого самолета
- modelНазвание модели самолета на английском и русском языках в формате JSON
- rangeДальность полета самолета в километрах
| aircraft_code | model | range |
|---|
| 1 | 773 | { "en": "Boeing 777-300", "ru": "Боинг 777-300" } | 11100 |
- PRIMARY KEY, btree (aircraft_code)
airports_data - таблица аэропортов.
- airport_codeУникальный код для каждого аэропорта
- airport_nameНазвание аэропорта на английском и русском языках в формате JSON
- cityГород аэропорта на английском и русском языках в формате JSON
- coordinatesКоординаты аэропорта в виде POINT(долгота, широта)
- timezoneНазвание часового пояса аэропорта
| airport_code | airport_name | city | coordinates | timezone |
| 1 | YKS | { "en": "Yakutsk Airport", "ru": "Якутск" } | { "en": "Yakutsk", "ru": "Якутск" } | (129.77099609375,62.0932998657227) | Asia/Yakutsk |
- PRIMARY KEY, btree (airport_code)
boarding_passes - посадочные талоны.
- ticket_noНомер билета
- flight_idИдентификатор рейса
- boarding_noНомер посадочного талона
- seat_noНомер места
| ticket_no | flight_id | boarding_no | seat_no |
| 1 | 0005435212351 | 30625 | 1 | 2D |
- PRIMARY KEY, btree (ticket_no, flight_id)
- UNIQUE CONSTRAINT, btree (flight_id, boarding_no)
- UNIQUE CONSTRAINT, btree (flight_id, seat_no)
- FOREIGN KEY (ticket_no, flight_id) REFERENCES ticket_flights(ticket_no, flight_id)
bookings - бронирования билетов.
- book_refНомер бронирования
- book_dateДата бронирования
- total_amountОбщая стоимость бронирования
| book_ref | book_date | total_amount |
|---|
| 1 | 00000F | 2017-07-05 00:12:00+00 | 265700.00 |
- PRIMARY KEY, btree (book_ref)
flights - таблица полётов.
- flight_idИдентификатор рейса
- flight_noНомер рейса
- scheduled_departureЗапланированное время отправления
- scheduled_arrivalЗапланированное время прибытия
- departure_airportАэропорт вылета
- arrival_airportАэропорт прибытия
- statusСтатус рейса
- aircraft_codeКод самолета, IATA
- actual_departureФактическое время отправления
- actual_arrivalФактическое время прибытия
| flight_id | flight_no | scheduled_departure | scheduled_arrival | departure_airport | arrival_airport | status | aircraft_code | actual_departure | actual_arrival |
|---|
| 1 | 1185 | PG0134 | 2017-09-10 06:50:00+00 | 2017-09-10 11:55:00+00 | DME | BTK | Scheduled | 319 | | |
- PRIMARY KEY, btree (flight_id)
- UNIQUE CONSTRAINT, btree (flight_no, scheduled_departure)
seats - таблица мест в самолетах.
- aircraft_codeКод самолета, IATA
- seat_noНомер места
- fare_conditionsКласс путешествия
| aircraft_code | seat_no | fare_conditions |
|---|
| 1 | 319 | 2A | Business |
- PRIMARY KEY, btree (aircraft_code, seat_no)
- FOREIGN KEY (aircraft_code) REFERENCES aircrafts(aircraft_code) ON DELETE CASCADE
ticket_flights - привязка билетов к рейсам.
- ticket_noНомер билета
- flight_idИдентификатор рейса
- fare_conditionsКласс путешествия
- amountСтоимость поездки
| ticket_no | flight_id | fare_conditions | amount |
|---|
| 1 | 0005432159776 | 30625 | Business | 42100.00 |
- PRIMARY KEY, btree (ticket_no, flight_id)
- FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
- FOREIGN KEY (ticket_no) REFERENCES tickets(ticket_no)
tickets - таблица билетов.
- ticket_noНомер билета
- book_refНомер бронирования
- passenger_idИдентификатор пассажира
- passenger_nameИмя пассажира
- contact_dataКонтактная информация пассажира
| ticket_no | book_ref | passenger_id | passenger_name | contact_data |
|---|
| 1 | 0005432000987 | 06B046 | 8149 604011 | VALERIY TIKHONOV | { "phone": "+70127117011" } |
- PRIMARY KEY, btree (ticket_no)
- FOREIGN KEY (book_ref) REFERENCES bookings(book_ref)