- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
目前我正在开发酒店预订系统。
所以我需要在未来几天的特定日期/日期范围内存储价格,因此价格会在不同的日期/日期发生变化。所以我需要将这些价格和日期详细信息存储到数据库中。我想到了 2 个结构。
第一个模型:
设计二:
房间价格:
房间编号:
从日期 :
迄今为止 :
价格:
可用:
房间价格:
房间编号:
日期:
价格:
可用
所以我发现第二种方法很简单。但存储的数据呈指数增长随着我的酒店名单的增加。
假设如果我想为一家酒店存储下一个( future )2 个月的价格数据,我需要为每家酒店创建 60 条记录。
如果是第一种设计,我不需要那么多记录。
例如:
``` X 酒店的价格值:
2015 年 12 月 1 日 - 2015 年 12 月 10 日 -- 200 美元,
第一个设计要求:只有 1 行
第二个设计需要:10行```
我正在使用 mysql,
搜索时是否有任何性能下降房间价格表。
有人会建议我更好的设计吗?
最佳答案
我实际上从事过酒店预订系统的设计和实现工作,可以根据我的经验提供以下建议。
我会推荐您的第二个设计选项,为每个单独的日期/酒店组合存储一条记录。原因在于,尽管有时酒店的房价在几天内都是相同的,但可能根据可用性,它会随着时间的推移而变化并变得不同(酒店往往会增加客房价格随着可用性下降)。
还有其他需要存储的特定于特定日期的重要信息:
同时考虑一个人预订了一周的住宿,如果您有每个日期的定价记录,那么返回该住宿每一天的房价和空房情况的数据库查询会更加简洁。您可以简单地执行一个查询,其中房价日期介于到达日期和离开日期之间,以返回一个数据集,其中每个住宿日期都有一条记录。
我意识到使用这种方法您将存储更多记录,但使用索引良好的表性能会很好并且数据管理会更简单。从您的评论来看,您只在 18000 条记录的范围内交谈,这是一个非常小的数量(我工作的系统有几百万条并且工作正常)。
如果您不每天存储一条记录,为了说明额外的数据管理,假设一家酒店的房价为 100 美元,整个 12 月有 20 个房间可用:
您将从一条记录开始:
12 月 1 日至 12 月 31 日房价 100 可用性 20
然后您在 12 月 10 日卖掉一个房间。
您的业务逻辑现在必须根据上面的记录创建三个记录:
12 月 1 日至 12 月 9 日房价 100 可用性 20
12 月 10 日至 12 月 10 日房价 100 可用性 19
12 月 11 日至 12 月 31 日房价 100 可用性 20
然后汇率在 12 月 3 日和 25 日变为 110
您的业务逻辑现在必须再次拆分数据:
12 月 1 日至 12 月 2 日利率 100 可用性 20
12 月 3 日至 12 月 3 日房价 110 可用性 20
12 月 4 日至 12 月 9 日房价 100 可用性 20
12 月 10 日至 12 月 10 日利率 100 可用性 19
12 月 11 日至 12 月 24 日房价 100 可用性 20
12 月 25 日至 12 月 25 日房价 110 可用性 20
12 月 26 日至 12 月 31 日房价 100 可用性 20
与每个日期存储一条记录相比,这需要更多的业务逻辑和更多的开销。
我可以向您保证,当您完成时,您的系统无论如何都会以每个日期一行结束,因此您不妨从一开始就以这种方式设计它,并获得更轻松的数据管理和更快的数据库查询的好处。
关于mysql - 酒店预订系统的价格规则数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33994596/
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在制作一个记录目的地(城市、州、国家、城镇、郊区等)的应用程序。仅使用此信息,我如何检索有关排名最高的企业的信息包括: 购物中心 餐厅 景点 酒店 商店(书店、CD 店等) 他们的价格(如果有的话
我正在使用 Mapbox Geocoder 在我们的应用程序中搜索地点。但是,我还需要获取所有附近的地点,如餐馆、酒店等。使用 Mapbox Geocoder 可以吗? 这是我们用于正向地理编码的代码
我正在开发一个在线旅行预订系统。事实上,我购买了一个在线预订系统,并且正在根据我的需要对其进行修改。这里的问题是针对特定度假村或酒店的空房情况查询表。我想用该特定酒店的房间类型填充下拉菜单,但如果酒店
我是一名优秀的程序员,十分优秀!