- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我搜索后找不到这样的问题,所以我发帖。
为我的 10 位同事制定一个有趣的工作时间表
它是基于日历的(我们每周轮类 7 天,不同的类次有不同的职责 -(周一上午 8 点至下午 5 点任务 1,周一上午 8 点至下午 5 点任务 2,周六下午 5 点至早上 8 点(晚上)任务 2,等等)
使用 mySQL
我想不出设置 mySQL 表的最佳方法。任何人都有这方面的经验吗?
说下周一:
Monday days - Joe - Task 1
Monday days - Sally - task 2
Monday days - Mike - task 3
Monday nights - Bob - task 1,2,3
Tuesday days - Joe - Task 1
..etc..
显然这个表的设置是低效的:
id, date, worker, shift, task
它效率低下,因为一年中的每一天“日期”字段中都会有大量条目...有没有更好的方法?
最佳答案
一个非常有趣的问题,也是一个众所周知的难题。阅读 Scott Rosenberg 的Dreaming in Code,了解与此问题和类似问题的一些斗争。
您有一个基本的设计选择。您可以枚举日期和类次,也可以使用类似通配符的方案来描述时间间隔。 (例如,“2013 年的所有工作日”或“2012 年 9 月的星期五和星期六”或您有什么。)
如您所见,枚举日期和类次会生成大量记录。但它很容易编程。而且,MySQL 可以轻松处理数万条记录。
另一方面,类似通配符的方案更为优雅。但它在语义上要复杂得多。 Unix/BSD/Linux crontab 系统 (http://crontab.org/) 包含一种简单但丑陋的方式来指定这类事情。
对于这类事情的精彩实现,请查看 Google 日历的重复约会功能集。
关于mysql - 数据库结构 : Best Way To Set up Table for a Calendar Work Roster/Schedule (mySQL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11914906/
我是一名优秀的程序员,十分优秀!