某酒店订房系统数据库设计

Use*_*ion 8 mysql schema foreign-key database-design

介绍和系统描述


我目前正在为酒店的客房预订系统设计一个数据库。

客户填写表格/请求,其中包含有关房间的以下信息:

  • 房间里的人数
  • 房间评分
  • 入住和退房日期

管理员有一个包含来自客户表格列表的仪表板,他将为每个客户手动分配每个房间。在此用户获得Bill 之后


数据库设计


这实际上是我的数据库的草图。我将有以下表格

  • 用户
  • 形式
  • 客房
  • 账单

我不考虑包含Password's Hashes 的Passwords

桌子设计


问题


我想听听您在我的数据库设计中缺少什么,您如何看待表之间关系的整体逻辑和正确性。

Rat*_*r B 17

如果不知道确切和完整的需求,我们就无法设计完整的数据模型。让我们假设以下业务规则,它基于您的问题。

  • 每位客户可以申请一间或多间客房。
  • 每间客房可由一位顾客申请
  • 每个管理员可以分配一个或多个房间。
  • 每个房间必须由一名管理员分配。
  • 每个房间必须属于一种房间类型。
  • 每个房间类型可以包含一个或多个房间。
  • 每个预订必须属于一个日期。
  • 每个日期可以包含一个或多个预订。
  • 每个房间类型可以包含一个或多个租金。
  • 每个租金必须属于一个房间类型。
  • 每个预订必须包括一个或多个房间。
  • 每间客房可包含在一次预订中。
  • 每个客户可以持有一个或多个预订。
  • 每个预订必须属于一个客户。
  • 每个租金可以包含在一个或多个账单中。
  • 每张账单必须包括一笔租金。
  • 每笔帐单付款必须包含一种付款类型。
  • 每个付款类型可以包含一个或多个账单付款。
  • 每个日期可以包含一个或多个账单付款。
  • 每笔帐单付款必须属于一个日期。
  • 每个房间可以被评为一个或多个房间等级。
  • 每个房间等级必须属于一个房间。
  • 每个评级可以包含一个或多个房间评级。
  • 每个房间等级必须属于一个等级。

基于上述规则,我们设计了以下数据模型。 酒店订房系统

该模型是酒店预订系统的一个子集。在规范化过程之后(查看我的博客),您将拥有更详细和完整的模型。

在上述模型中的租金是根据房型,如单人间,双打房,家庭房或会场,而不是人在房间里数计算。

客房出租改为不定期,所以我们有从日期和日期包括有房租金的历史。此外,客户可以使用多种支付方式,如信用卡、借记卡、现金支付,因此我们被纳入支付类型实体。

该模型基于假设。我希望这个模型能在某种程度上帮助你。

谢谢你。