我想将位置的开放时间和关闭时间存储到数据库表中。您认为以下哪种表格设计更为理想?我使用的是MySQL或者也许是PostgreSQL(会很重要吗?)。有关架构设计的建议
每天一个记录? (返回1-7结果)
id, location_id, weekday, start_time, closing_time
或者每个位置有一条记录? (返回1个结果总是)
id, location_id, mon_start, mon_end, tue_start, tue_end, ... ... ... sun_start, sun_end
最常见的查询将简单地显示这样的内容(总是整个周):
Location: blablabla
Operating Hours:
Monday: 8 AM to 8 PM
... ...
Sunday: 8 AM to 12 PM
作为示例,使用此选项,您可以每天有两个开放时间。 (例如:上午8点到10点,下午4点到6点)。尝试在您的其他解决方案中实施 – podiluska
“日期”字段实际上是从0-6(周一到周日)的周日。我已经编辑了这个问题来反映这一点。我实际上不知道你的意思是延长假期。 – dashmug
在标准化的格式中,可以很容易地在系统中添加假日(或系统中的-1)或其他编码值以处理非标准的开放日期。在需要更多工作的非规范化格式中。 –