【发布时间】:2012-02-20 18:54:48
【问题描述】:
我有您期望的标准表格,例如“房间”、“预订”等。目前所有内容都在关系数据库中。
“预订”表存储诸如 room_id、入住日期和退房日期等项目。
现在,简而言之,当进行预订时,系统会根据“RoomPrice”表检查并获取每晚预订的费用(取决于日期、入住人数等) - 费用可能会有所不同每晚取决于当前价格。
显然,当预订时,每晚的价格都是固定的。因此,即使房价在事后更新,该预订仍将保持在商定的价格,就像在价格变化之前进行的那样。
我的问题是:我应该如何存储这些个人,在预订时为每晚商定的价格?
我正在考虑使用另一个表“PriceForNight”,它将存储预订的每一晚的预订 ID、价格和日期。
我看到的唯一可能的问题是可扩展性。如果平均预订时长为 5 晚,这意味着“PriceForNight”表的增长速度将比“预订”表快 5 倍。
“PriceForNight”数据是否会更好地存储在 NoSQL 数据库或类似数据库中?
正在考虑的另一个选项是将每晚的价格作为逗号分隔的字符串存储在“预订”表行中的单个列中,例如:“150.00,175.00,175.00,200.00,150.00”表示 5夜间预订。
我可能想多了,因为真正的问题可能只有在增长速度快 1000 倍时才会存在,但我喜欢做正确的事情,所以我想我会与社区联系。
非常感谢任何意见。
【问题讨论】:
-
既然您要在该表中为每晚输入一个条目,为什么不将这些数据存储在预订表中呢?您可以添加两列,机架率和实际率。
-
@MarkKram 无论有多少晚,“预订”表中的每个预订都只有一个条目。
标签: mysql sql-server database database-design relational-database