boarding_passes(登機牌)表的作用
boarding_passes
這張表的主要作用是記錄旅客的登機信息,包括:
- 票號 (
ticket_no
) - 關聯到tickets
表,表示這張票屬于哪個旅客。 - 航班 ID (
flight_id
) - 關聯到flights
表,表示這張票對應的航班。 - 座位號 (
seat_no
) - 旅客在飛機上的座位。
它的核心作用是跟蹤乘客的座位安排,確保旅客在正確的航班上有正確的座位。
為什么 boarding_passes
不能省略?
-
座位分配
ticket_flights
僅僅表示一張票對應的航班信息,并不包含座位信息。boarding_passes
負責分配具體的座位,確保不同乘客不會被安排到同一個座位。- 如果沒有
boarding_passes
,系統就無法在登機時驗證乘客的座位,可能會導致座位沖突或乘客無法登機。
-
登機驗證
- 在現實系統中,乘客在機場登機前,需要掃描登機牌(boarding pass),航空公司通過
boarding_passes
表來確認乘客是否已經登機。 - 如果沒有
boarding_passes
,系統就無法記錄乘客的登機狀態,可能導致:- 乘客沒有座位但仍然能登機(超售情況難以管理)。
- 乘客已經登機但沒有記錄,影響安全性。
- 在現實系統中,乘客在機場登機前,需要掃描登機牌(boarding pass),航空公司通過
-
支持多航段的行程
- 在某些情況下,一張票可能涉及多個航班(例如轉機)。
ticket_flights
記錄票和航班的對應關系,但boarding_passes
記錄的是乘客具體在哪個航班的哪個座位。- 如果
boarding_passes
不存在,在管理轉機航班時,系統可能無法正確跟蹤乘客的座位安排和登機情況。
如果沒有 boarding_passes
,會出現什么問題?
場景 | 問題 |
---|---|
乘客登機時查不到座位 | 乘客有票,但沒有座位信息,系統無法安排座位,導致混亂 |
座位沖突 | 多個乘客可能被錯誤地安排到同一個座位,影響航班運行 |
系統無法確認乘客是否登機 | 可能導致乘客未登機但航班起飛,或者登機但系統無記錄 |
轉機航班管理困難 | 乘客的不同航班段座位信息無法追蹤,可能導致轉機失敗 |
總結
boarding_passes
的作用是 跟蹤座位安排,確保每個乘客都有明確的座位,避免座位沖突。- 這個表對登機管理和安全性至關重要,如果省略,會導致座位混亂、乘客管理困難,甚至影響航班安全。
- 在你的數據庫更新邏輯中,更新
ticket_flights
之后,也需要更新boarding_passes
,否則你的查詢就會找不到數據。🚀