【发布时间】:2011-04-01 14:12:55
【问题描述】:
我对一种存储用户日程的方法感兴趣。我需要保存星期几和他有空的时间。可以是从 8:00 到 12 点,或者从 9:00 到 12 点,然后从 15:00 到 18:00 间隔。我不是对花哨的数据库操作感兴趣,我只需要在需要时轻松添加和获取日期。
【问题讨论】:
标签: mysql database-schema
我对一种存储用户日程的方法感兴趣。我需要保存星期几和他有空的时间。可以是从 8:00 到 12 点,或者从 9:00 到 12 点,然后从 15:00 到 18:00 间隔。我不是对花哨的数据库操作感兴趣,我只需要在需要时轻松添加和获取日期。
【问题讨论】:
标签: mysql database-schema
我对花哨的数据库操作不感兴趣
警钟在我脑海中响起。这是否意味着您也没有兴趣在实施之前对问题进行全面分析?
管理具有明确模式的重复事件的无限时间表(例如,每个周二 9-12 日)与存储固定时间表(例如,4 月 5 日星期二-12)。显然后者不能在不确定的时间跨度内完成,尽管在定义的时间范围内您可以使用后者模型来实现前者。
如果只是记录历史事件,那么数据是有界的,因此第二种方法更合适。但是对于未来的事件,您可能需要这两种方法 - 但前者很难在数据库层上实现。
【讨论】:
这是一个解决常见 MySQL 查询问题的网站的链接,您可以通过这些示例对您的结构进行逆向工程。
http://www.artfulsoftware.com/infotree/queries.php#98
这将有助于“可用的约会”
【讨论】:
我是这样建模的:
int DayOfWeek // maps to System.DayOfWeek enum
time(0) Start // smallest possible time with seconds precision
time(0) End
【讨论】: