【问题标题】:Hotel Reservation system Database schema酒店预订系统数据库架构
【发布时间】:2011-01-28 12:50:52
【问题描述】:

我即将开发一个在线酒店预订系统...使用 php 和 mysql...我对我当前的数据库架构和获取在两个特定日期之间客房免费的酒店的业务逻辑有些疑问。 ..

有谁知道某种教程,我可以在其中了解酒店预订模式和系统中应该使用的业务逻辑......?

感谢您的建议......

编辑: 我已经弄清楚了大部分逻辑......我不清楚的点如下......

  1. 如果用户在两个特定日期之间选择特定酒店的多个房间,我如何在以下预订表中表示...?

    表:预订

     Field 1 : reservation_id
     Field 2 : room_id
     Field 3 : no. of Rooms
     Field 4 : check-in date
     Field 5 : check-out date
     Field 6 : Customer id
    
  2. 我如何根据预订表和以下房间表查看两个日期之间的可用房间...?

    桌子:房间

         Field 1 : hotel_id
         Field 2 : room_id
         Field 3 : total_num_rooms
    

注意:数据库包含不止一家酒店...所以就像用户可以选择一个城市并在两个特定日期之间查找该地区酒店的可用房间...

还说如果酒店有 10 间特定类型的房间,我只需要显示该特定时间段内空闲的房间数量.....

【问题讨论】:

  • 如果这是家庭作业,请考虑一个模式。想想酒店如何运作。如果不是,请询问您的客户。他们将成为对其业务逻辑的最佳评判者

标签: mysql schema system


【解决方案1】:

没有一种完美的方式来表示酒店预订系统之类的东西。

尝试与您的客户或在酒店工作的人交谈,了解他们现在在做什么,并以此为基础构建您的系统。

我猜:

A Room has a RoomType
A Customer can Book 1..n Room(s)
A RoomType has a name and a price

...等等。

如果您只使用教程,您最终可能会创建一个不符合潜在用户要求的系统。因此,与这些未来的最终用户交谈,弄清楚业务逻辑并开始编码 :)

【讨论】:

    【解决方案2】:

    作为一般思想,应用分而治之。总是。

    例如,您为什么认为特定客户应该能够在特定时间跨度内拥有“房间数”?例如,如果我出差几天后让家人跟着我怎么办。现在,对于给定的时间跨度,房间的数量不再是一个常数。

    这真的不重要吗?没错,您可以为同一客户添加另一个条目。但是话又说回来,您可以首先这样做并简化您的逻辑,即客户一次只能在一行中拥有一个房间,但是对于给定的客户,可能会有一些行在时间跨度上产生重叠。

    另外,请确保将 ReservationReservationRequest 分开。后者由我认为的一组预订组成 - 因为我希望为我和我的家人提供那个房间,并且必须匹配这两个标准。

    只是一些想法。请注意,这是象牙塔方法,它可能导致大量夸大的解决方案。在 RealWorld (TM) 中,坚持 Marcs 的建议:分析客户的实际需求。如果处理 1% 的请求会增加 200% 的开发时间,他就不会喜欢(或需要)它,反之亦然。

    【讨论】:

    • 这是作业吗?否则,你为什么要使用那个数据结构?
    • 这不是家庭作业......我只是不确定我制定的业务逻辑......所以我需要一些更好的建议......
    • 只是我的一点想法,客户没有理由不能拥有多个房间,如果您正确设置表格,您将为用户、房间、预订等提供单独的表格. 并通过 ID 连接它们。这将允许单个用户在不同的预订中拥有多个房间。
    猜你喜欢
    • 2019-03-02
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多