我想設計後端,並有以下用例。我如何設計間歇通過點旅行行程
我有從A點到B點的航班信息,需要定義支持不同用例的模式。
我試圖找到一個很好的方法來處理這種情況,當有中途停留點時。
例如,飛行路線甲 - >乙居然是這樣的:
A -> C
C -> D
D -> B
所以A - > B是一個實體,但反過來,它是由幾個腿。
我目前的設計:
AirLeg表:
- id
- departure and arrival information
- viaPoints: BOOL
viaPoints表:
- id
- airLegId // FK into Airleg table
- similar departure and arrival information from airLeg table
//如果viaPoints標誌AirLeg表爲真,viaPoints表,可以被詢問,使用airLegId表來檢索中介。
有沒有更好的方法來處理這個問題?
我想我會添加我存儲大約一個單程或段的信息:
- AirLeg-ID
- 出發機場:FK到機場
- 到達機場:FK到機場
- 出發時間戳(以出發城市的當地時間)
- 到達時間戳(以到達城市的當地時間)
- 飛行durati在此airleg:靜態值
- FLIGHTID:FK到航空公司收益航空公司名稱和航班號
- 行李政策:文本
- 雜項(TEXT:取消政策)
編輯:
我加了一個相關的question,我想這個問題的答案將不得不迎合這兩個要求。
如果在跳閘多個段,價格是爲完整行程限定,而不是單獨的段
類似地,對於往返的價格被指定爲一個單元,而不是從A-單個組分>乙並返回,B-> A。
我假設你通過查看最早的部分(基於時間?)來計算旅程的第一個和最後一個部分 –
是的。如果您首先選擇一箇中間段,然後選擇連接段,那麼使用ID並不是一個好主意 - 因此,UTC中的出發/到達時間是訂單標準 –
我將時間存儲在城市的當地時區中。我有一個單獨的表格結算。所以,在我的桌子上,我所有的是起飛/到達機場,時間和航班信息。那麼不是那麼你建議類似於我在問題中發佈的內容嗎? – brainydexter