以往我設計一般購物型的商品系統,都是每個商品一個資料庫id,裡面紀錄數量,有下單就減一來控制庫存量。
可是訂房、訂位、場地預約是以時間為依據的下單系統,我要如何規劃資料庫來控制庫存量?
如果我【將房間固定數量紀錄在房間ID內】不改變房間資料庫情況下,是不是每次下單,都要跑一遍所有訂單,符合該時間的訂單就將房間固定數量相減取值?
還是我要每日都為每種房間產生當日的數量紀錄,有人下單就修改該紀錄?
是否有前輩能提供資料庫規劃方向或範例?
不用啊, 客人訂哪天, 去減那天的庫存就好了, 幹嘛全部掃一次?
2022-10-1, 庫存 2間
2022-10-2, 庫存 5間
2022-10-3, 庫存 6間
2022-10-4, 庫存 1間
2022-10-5, 庫存 7間
2022-10-6, 庫存 6間
2022-10-7, 庫存 4間
客人如果要訂 2022-10-5 的房間, 你去撈別的日期是能幹嘛?
參考來源
類似這一張圖中,事實表會有旅館訂房時間,就可以處理資料。
只要搞清楚事實表與維度表你應該就會知道。
你先把自己要欄位規劃出來後,你應就會知道你需要不需要。
您好,因為我的問題正是規劃建議,我規劃【庫存總量】是存在個別房間的表內,
如果要了解特定日期的剩餘庫存,要查所有日期的訂單,符合該日期,將該房間的【庫存總量】減掉符合該日期的訂購總數,就是剩下的庫存。
這樣就不用【每日、每間】都產生資料庫。
缺點是【要得知剩餘庫存量】需要查所有日期的訂單,符合該日期,將該房間的【庫存總量】減掉符合該日期的訂購總數,就是剩下的庫存。
依據雷神、herrowei135前輩的建議,是每個日期都要產生資料記錄【庫存量】,所以每天都要有一筆資料,我想了解【每天、每個房型】都產生一筆資料記錄庫存這樣的規劃是否業界常態。
應該說,你需要一個庫存進出紀錄,紀錄房間代號,進出時間,進出代號超,更新者,更新時間.....等。
其實,你應該將你的ER-Model或是Facts and dimensions架構圖列出來,別人也比較好資料你的思考架構。
因為你的文字敘述,我也不知道我有猜對你的想法。