我正在研究預訂系統模式,並且在定義資源可用性時遇到了一些問題。我搜索了這裏類似的問題,並在谷歌,但仍然沒有清晰的認識預約系統設計
我的應用程序是用於預訂出租車。每個出租車司機都在今天工作或休息一天。到目前爲止,我想出了以下結構
table: Drivers
id INT PRIMARY KEY
name INT
table: Users
id INT PRIMARY KEY
name TEXT
table: Reservations
id INT PRIMARY KEY
start: DATETIME
end: DATETIME
userID: INT (FOREIGN KEY(Users.id))
driverID: INT (FOREIGN KEY(Drivers.id))
我想治療可用的每個驅動程序,如果沒有預約條目,然後想出不同類型的保留的:
不可用=>司機正在休息一天假期=>司機在開始/結束時間之間由用戶預訂取消=>取消預訂
但是,保持不可用/預訂狀態聽起來有點複雜,比我想。
那麼,有什麼建議,如何提高數據庫架構?
這是非常標準的做法。駕駛員要麼不在(具有在預定表中指定的原因 - 假期,預訂等),或者他可用(不在表格中)。你可以擴展「保持不可用/預訂狀態聽起來比我想要更復雜一點」 - 什麼是實際問題。這是一個_good_想法擴展您的預約表包含所有不同類型的,因爲你可以添加到他們後,即生病了,沒車可用等和你說,你可以包括取消的標誌,以確定取消 – 2017-05-03 01:07:38