【问题标题】:Database MySQL > Storage > Opening Hours of Shop数据库 MySQL > 存储 > 商店营业时间
【发布时间】:2011-11-09 22:29:52
【问题描述】:

我有一个包含商店的数据库,我想添加他们的营业时间(开始时间 - 周一至周日的结束时间)。营业时间可以是任意值(增量为 15 分钟)。

我有一张商店桌子 (1)、一张桌子 (2) 和一张营业时间桌子 (3):

(1) 商店表:shop_id;...

(2) 日表:day_id;day_text

(3) 营业时间表:shop_id;day_id;start_time;finish_time 其中 start_time 是一个时间,finish_time 是一个时间

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

我有几百万个数据,所以我正在寻找一种有效的方法来执行此操作,以便快速执行搜索该地区开设的商店的请求。

【问题讨论】:

  • 我不确定你在这里问什么……你能编辑问题以明确你的实际问题吗?
  • @davidWolever:我说得更清楚了

标签: mysql database


【解决方案1】:

是的 - 你的方法似乎是正确的。

您可能还关心一些奇怪的“日子”,比如改变时间的假期。

这可能是一个带有日期和小时数的例外样式表。那么您将检查“正常”时间并在有特殊日期时覆盖。

【讨论】:

  • 谢谢。这正是我所做的,在营业时间表上具有优先权的异常表。
  • 当商店在午夜之前营业并在早上 22:00 至 04:00 营业时(如酒吧)关闭,您如何处理?
  • 我想你的 open_hours 表中可以有 open_date 和 open_time 以及 close_date 和 close_time ......
  • @Randy,如果您查看 Google Transit Feeds,他们会通过“24”小时标记来提供这种功能。这一切都基于服务的日期。如果您在 2012 年 5 月 7 日上午 6:00 开始运营并在 2012 年 5 月 8 日凌晨 2:30 结束运营,那么尽管“日”不同,但该服务日仍然相同。因此,它们增加了 24 小时时间标记。相同的服务时间为 2012 年 5 月 7 日 06:00 至 2012 年 5 月 7 日 26:30。不是说它是“正确的”或类似的东西,但它是一种选择。
猜你喜欢
  • 2021-03-05
  • 1970-01-01
  • 2010-10-20
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 2012-01-21
相关资源
最近更新 更多