Mysql
某酒店客房預訂系統的數據庫設計
簡介和系統說明
我目前正在為酒店的客房預訂系統設計一個數據庫。
客戶填寫表格/請求,其中包含有關****Room的以下資訊:
- 房間裡的人數
- 房間評分
- 入住和退房日期
管理員有一個儀表板,其中包含來自客戶的****表格列表,他將為每個客戶手動分配每個房間。在此使用者收到賬單之後。
數據庫設計
這實際上是我的數據庫的草圖。我將有以下表格:
- 使用者
- 形式
- 房間
- 票據
我不考慮包含Password’s Hashes 的表****Passwords。
問題
我想听聽您在我的數據庫設計中缺少什麼,您如何看待表之間關係的整體邏輯和正確性。
如果不知道確切和完整的需求,我們就無法設計完整的數據模型。讓我們假設以下業務規則,它基於您的問題。
- 每個客戶可以申請一個或多個房間。
- 每個房間可由一位客戶申請
- 每個管理員可以分配一個或多個房間。
- 每個房間必須由一名管理員分配。
- 每個房間必須屬於一種房間類型。
- 每個房間類型可以包含一個或多個房間。
- 每個預訂必須屬於一個日期。
- 每個日期可以包含一個或多個預訂。
- 每個房間類型可以包含一個或多個租金。
- 每個租金必須屬於一種房型。
- 每個預訂必須包括一個或多個房間。
- 每個房間可以包含在一個預訂中。
- 每個客戶可以持有一個或多個預訂。
- 每個預訂必須屬於一個客戶。
- 每個租金可以包含在一個或多個賬單中。
- 每份賬單必須包括一份租金。
- 每個賬單支付必須包括一種支付類型。
- 每個支付類型可以包含一個或多個賬單支付。
- 每個日期可以包含一個或多個賬單支付。
- 每筆賬單支付必須屬於一個日期。
- 每個房間可以被評為一個或多個房間評級。
- 每個房間評級必須屬於一個房間。
- 每個評級可以包含一個或多個房間評級。
- 每個房間等級必須屬於一個等級。
基於上述規則,我們設計了以下數據模型。
該模型是酒店預訂系統的一個子集。經過規範化過程(查看我的部落格),您將擁有更詳細和完整的模型。
在上述模型中,房間租金是根據單人房、雙人房、家庭房或會議廳等房間類型計算的,而不是房間內的人數。
並且房間租金會不時更改,因此我們已經包含了開始日期和迄今為止的房間租金歷史記錄。客戶也可以使用多種支付類型,如信用卡、借記卡、現金支付,因此我們包括支付類型實體。
該模型基於假設。我希望這個模型能以某種方式幫助你。
謝謝你。