数据库MySQL>;存储>;店铺营业时间

数据库MySQL>;存储>;店铺营业时间,mysql,database,Mysql,Database,我有一个商店的数据库,我想添加他们的开放时间(开始时间-完成时间从周一到周日)。开放时间可以是任意值(增量15分钟) 我有一张供商店使用的桌子(1),一张供工作日使用的桌子(2)和一张供营业时间使用的桌子(3): (1) 店铺表:店铺id (2) 日表:日id;日文 (3) 营业时间表:店铺id;第二天;开始时间;完成时间,其中开始时间是一个时间,结束时间是一个时间 我是否应该为小时创建第四个表,例如hour_id;小时/小时(递增15分钟) 我有数百万的数据,因此我正在寻找一种有效的方法,以便

我有一个商店的数据库,我想添加他们的开放时间(开始时间-完成时间从周一到周日)。开放时间可以是任意值(增量15分钟)

我有一张供商店使用的桌子(1),一张供工作日使用的桌子(2)和一张供营业时间使用的桌子(3):

(1) 店铺表:店铺id

(2) 日表:日id;日文

(3) 营业时间表:店铺id;第二天;开始时间;完成时间,其中开始时间是一个时间,结束时间是一个时间

我是否应该为小时创建第四个表,例如hour_id;小时/小时(递增15分钟)


我有数百万的数据,因此我正在寻找一种有效的方法,以便快速执行搜索在该地区开设的店铺的请求。

是-您的方法似乎是正确的

你可能也会关心一些奇怪的“日子”,比如改变时间的假期


这可能是一个带有日期和时间的异常样式表。然后,你会检查“正常”时间,如果有特殊日期,则会覆盖该时间。

我不确定你在问什么……你能编辑该问题以使你的实际问题更清楚吗?@DavidWalever:我说得更清楚了,谢谢。这正是我所做的,例外表在营业时间表上有优先权。当商店在午夜前开门,早上关门(如酒吧)从22:00开到04:00时,你如何处理它?我想你可以在营业时间表中有开门日期和开门时间,关门日期和关门时间…@Randy,如果你看一下谷歌的公交订阅源,他们的功能已经超过了24小时。都是以服务日期为基础的。如果您在2012年7月5日上午6:00开始运营,并在2012年8月5日凌晨2:30结束,则该服务日仍然相同,尽管“日”不同。因此,它们会增加24小时的时间标记。该服务时间为2012年7月5日06:00至2012年7月5日26:30。不是说它是“对的”或类似的东西,但这是一种选择。