目前,我正在开发一个项目来管理服务器数据库上的维护窗口等。基本上,我只需要准确到小时,但允许它们被设置为允许或不允许一周中的每一天。每周计划 - 如何将其存储在数据库中?
我对如何做到这一点有一些想法,但由于我自己工作,我不想在没有反馈的情况下承诺任何事情。
为直观起见,它像流动的“图”
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
-------------------------------------------
5AM |allow|allow|allow|deny |deny |allow|allow|
-------------------------------------------
6AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
7AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
8AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
9AM |allow|deny |deny |deny |deny |deny |allow|
-------------------------------------------
... etc...
是否有这样做的标准方式或可能给我一些想法,资源...
- 制作一种可以轻松保存和恢复的格式
- 使其可在数据库中搜索(例如,不必将其反序列化以搜索时间)
[更新]
值得一提的是,每天可能,尽管可能性不大,被设置为 “允许,拒绝,允许,拒绝...等等...”。跨度不能保证是全天唯一的。
这也不是唯一的时间表,将有数百个设备,每个都有自己的时间表,所以它会变得毛茸茸......大声笑?
Rob询问是否需要跟踪每个星期 - 事实并非如此。这是一个通用的时间表,将适用于整个年度(定期维护)
你需要每周跟踪的一年,或者这只是一个配置表中一般一周? – 2008-12-23 16:38:58
对于我来说,您需要旋转此表,因为如果您想要在特定的一天中获得所有的小时数,那么您将需要返回24行,并且不会轻松访问WHERE数据。在我看来,有7行24列更有意义,1行给你一整天的时间。 – TravisO 2008-12-23 16:41:24