Mysql

某酒店客房預訂系統的數據庫設計

  • June 11, 2021

簡介和系統說明


我目前正在為酒店的客房預訂系統設計一個數據庫。

客戶填寫表格/請求,其中包含有關****Room的以下資訊:

  • 房間裡的人數
  • 房間評分
  • 入住和退房日期

管理員有一個儀表板,其中包含來自客戶的****表格列表,他將為每個客戶手動分配每個房間。在此使用者收到賬單之後。

數據庫設計


這實際上是我的數據庫的草圖。我將有以下表格

  • 使用者
  • 形式
  • 房間
  • 票據

我不考慮包含Password’s Hashes 的表****Passwords

表設計

問題


我想听聽您在我的數據庫設計中缺少什麼,您如何看待表之間關係的整體邏輯和正確性。

如果不知道確切和完整的需求,我們就無法設計完整的數據模型。讓我們假設以下業務規則,它基於您的問題。

  • 每個客戶可以申請一個或多個房間。
  • 每個房間可由一位客戶申請
  • 每個管理員可以分配一個或多個房間。
  • 每個房間必須由一名管理員分配。
  • 每個房間必須屬於一種房間類型。
  • 每個房間類型可以包含一個或多個房間。
  • 每個預訂必須屬於一個日期。
  • 每個日期可以包含一個或多個預訂。
  • 每個房間類型可以包含一個或多個租金。
  • 每個租金必須屬於一種房型。
  • 每個預訂必須包括一個或多個房間。
  • 每個房間可以包含在一個預訂中。
  • 每個客戶可以持有一個或多個預訂。
  • 每個預訂必須屬於一個客戶。
  • 每個租金可以包含在一個或多個賬單中。
  • 每份賬單必須包括一份租金。
  • 每個賬單支付必須包括一種支付類型。
  • 每個支付類型可以包含一個或多個賬單支付。
  • 每個日期可以包含一個或多個賬單支付。
  • 每筆賬單支付必須屬於一個日期。
  • 每個房間可以被評為一個或多個房間評級。
  • 每個房間評級必須屬於一個房間。
  • 每個評級可以包含一個或多個房間評級。
  • 每個房間等級必須屬於一個等級。

基於上述規則,我們設計了以下數據模型。 酒店客房預訂系統

該模型是酒店預訂系統的一個子集。經過規範化過程(查看我的部落格),您將擁有更詳細和完整的模型。

在上述模型中,房間租金是根據單人房、雙人房、家庭房或會議廳等房間類型計算的,而不是房間內的人數。

並且房間租金會不時更改,因此我們已經包含了開始日期和迄今為止的房間租金歷史記錄。客戶也可以使用多種支付類型,如信用卡、借記卡、現金支付,因此我們包括支付類型實體。

該模型基於假設。我希望這個模型能以某種方式幫助你。

謝謝你。

引用自:https://dba.stackexchange.com/questions/125162