设想管理酒店房间价格的规则。
- 一般来说,每晚100美元
- 周五或周六,120美元
- 在夏季,150美元
- 下周特价,80美元
- 等。
醇>
鉴于酒店房间的数据库具有不同的规则,您将如何在数据库中对此进行建模,以便您可以在给定时间快速轻松地修改和查询价格?
答案 0 :(得分:1)
我想有多种方法可以做到这一点,但我最熟悉的方法是在表格中存储属性'date-from'和'date-to'以及该持续时间的相应价格。然后,在查询时,您可以在where子句中指定sysdate(或任何其他所需日期)以检索正确的价格。
或者,如果您对酒店中的所有房间都有相同的规则,您可以创建一个包含规则的单独表格(日期,日期,价格(或价格变化百分比))。这将是一种更为标准化的方式,但这意味着您对所有房间都有相同的规则。
这完全取决于业务规则是什么。
答案 1 :(得分:1)
您需要定义优先顺序。然后,您存储每个规则及其优先级和条件(例如从 - 到+工作日位图),并找到具有最高优先级的匹配规则。