如何数据模拟预订房间的动态开/关时间

时间:2015-08-19 20:51:38

标签: datamodel

这是我的第一篇文章。我一直在寻找最好的方法,但没有取得多大成功所以我决定在这里发布。

我有一个数据库模型,用于预订复杂的房间。这些房间需要有开放和关闭时间,以确定何时可以预订。例如,一个房间可能从上午8点到晚上10点开放,但另一个房间可能从上午10点到下午5点开放等。

其中一个要求,以及我坚持的部分是,房间的开启/关闭时间需要根据类似于“季节”的时间段进行更改,但此时间段由管理员手动设置不像一个季节。

因此,从1月11日到3月28日,特定房间可能从上午10点到下午5点开放,但从3月29日到7月17日,可能会在上午8点到晚上7点开放。

我猜我需要另外一两张桌来存储“时间段”以及这些时段内房间的开启/关闭时间。

有人能指出我正确的方向或给我一个例子吗?

感谢。

1 个答案:

答案 0 :(得分:0)

它高度依赖于应用程序的逻辑,但在最简单的情况下,您可以将其保存在以下结构的附加表中:

room_id INT
period_from DATE
period_to DATE
open_from INT
open_to INT

您可以使用以下方式选择特定日期的房间开放时间:

SELECT open_from, open_to 
FROM intervals
WHERE room_id = 4 AND period_from > '2015-08-19' AND period_to < '2015-08-19'

注意当您添加新的期间时,您应该验证,某个时间段不会与给定的房间相交。