База данных 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Класс путешествия.
- суммаСтоимость поездки.
| 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)