0

我想将位置的开放时间和关闭时间存储到数据库表中。您认为以下哪种桌子设计更理想?我正在使用 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
4

2 回答 2

3

The first solution is clearly correct. The second one is not normalized, harder to program against, and not extendable (for holidays, special hours, etc).

于 2012-10-09T18:53:30.023 回答
0

绝对是第一个,它更好地规范化,您可以使用查找表轻松生成第二种格式的数据,也许还有一个视图。

正如第一张海报所说,第一个解决方案可以很容易地扩展到包括假期等。第二个不是那么灵活。

于 2012-10-09T18:56:03.103 回答