预订数据库:表结构和模式概述
预订数据库(PostgreSQL)建模了多个机场之间的航空公司航班,广泛用于SQL练习。
此页面显示了典型分析和事务SQL查询中使用的表结构、关键列和约束。
预订数据库包含8个主要表。
预订数据库的ER图
表列表
aircrafts_data - 飞机表。
- aircraft_code每架飞机的唯一代码
- model飞机型号名称,英文和俄文以JSON格式表示
- range飞机飞行范围,单位为公里
| aircraft_code | model | range |
|---|
| 1 | 773 | {"en": "Boeing 777-300", "ru": "Боинг 777-300"} | 11100 |
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 |
boarding_passes - 登机牌表。
- ticket_no票号
- flight_id航班标识符
- boarding_no登机牌号码
- seat_no座位号码
- 主键,btree (ticket_no, flight_id)
- 唯一约束,btree (flight_id, boarding_no)
- 唯一约束,btree (flight_id, seat_no)
- 外键 (ticket_no, flight_id) 参考 ticket_flights(ticket_no, flight_id)
| ticket_no | flight_id | boarding_no | seat_no |
|---|
| 1 | 0005435212351 | 30625 | 1 | 2D |
bookings - 预订表。
- book_ref预订号码
- book_date预订日期
- total_amount总预订费用
| book_ref | book_date | total_amount |
|---|
| 1 | 00000F | 2017-07-05 00:12:00+00 | 265700.00 |
flights - 航班表。
- flight_id航班ID
- flight_no航班号码
- scheduled_departure计划出发时间
- scheduled_arrival计划到达时间
- departure_airport出发机场
- arrival_airport到达机场
- status航班状态
- aircraft_code飞机代码,IATA
- actual_departure实际出发时间
- actual_arrival实际到达时间
- 主键,btree (flight_id)
- 唯一约束,btree (flight_no, scheduled_departure)
|
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 | 计划中 | 319 | | |
seats - 飞机座位表。
- aircraft_code飞机代码,IATA
- seat_no座位号码
- fare_conditions旅行舱位
- 主键,btree (aircraft_code, seat_no)
- 外键 (aircraft_code) 参考 aircrafts(aircraft_code) ON DELETE CASCADE
|
aircraft_code | seat_no | fare_conditions |
| 1 | 319 | 2A | 商务舱 |
ticket_flights - 票与航班的关系。
- ticket_no票号
- flight_id航班ID
- fare_conditions旅行舱位
- amount旅行费用
- 主键,btree (ticket_no, flight_id)
- 外键 (flight_id) 参考 flights(flight_id)
- 外键 (ticket_no) 参考 tickets(ticket_no)
|
ticket_no |
flight_id |
fare_conditions |
amount |
| 1 | 0005432159776 | 30625 | 商务舱 | 42100.00 |
tickets - 票表。
- ticket_no票号
- book_ref预订号码
- passenger_id乘客ID
- passenger_name乘客姓名
- contact_data乘客联系信息
|
ticket_no |
book_ref |
passenger_id |
passenger_name |
contact_data |
| 1 | 0005432000987 | 06B046 | 8149 604011 | VALERIY TIKHONOV | {"phone": "+70127117011"} |
- 外键 (book_ref) 参考 bookings(book_ref)