在我的商店数据库中,我需要有开放时间.你有一个想法如何在我的dB中实现这个?
开放时间为周一至周日,每天可开2个开放时间(09:00-12:00,16:00-19:00)
解决方法
建立另一个表,调用它进度表,添加一个外键到商店表主键,一个星期字段,time_open,time_closed.
数据应该是这样的:
数据应该是这样的:
shop_id day_of_week time_open time_closed 1 1 09:00 12:00 1 1 16:00 19:00 1 2 09:00 12:00 1 2 16:00 19:00 1 3 09:00 12:00 1 3 16:00 19:00 1 6 10:00 14:00 2 1 09:00 12:00 2 1 13:00 18:00
这将为您提供建立任何类型的时间表的机会,您可以使用尽可能多的窗口,您需要多少个异常.它是普遍的,仅限于它预期所有星期相同的事实.没有考虑到假期,也没有人可能使用的偶数/偶数周的时间表.
编辑:
有了Julien的问题,关于夜生活的工作时间,我注意到以前的解决方案不是最好的.您不能在20:00开放酒吧,06:00结束,如果当前时间(02:45)在该时间段内,因为不会.这就是为什么最方便的是注册不是关闭时间,而是在方便的测量单位(例如分钟))的总工作时间.
shop_id day_of_week time_open working_time 1 1 09:00 180 1 1 16:00 180 1 2 09:00 180 1 2 16:00 180 1 3 09:00 180 1 3 16:00 180 1 6 10:00 240 2 1 09:00 180 2 1 13:00 300