在数据库中表示复杂的计划重复

前端之家收集整理的这篇文章主要介绍了在数据库中表示复杂的计划重复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个有趣的问题,试图在数据库中表示复杂的计划数据.作为指导,我需要能够代表iCalendar – ics – 格式可以代表的全部内容,而在数据库中.我实际上没有实现与ics相关的任何东西,但它给出了我需要为我的特定项目建模的规则类型的很好的范围.

我需要允许基于每天多次,一周中的几天,一个月,一年的这些或其某些组合允许表示单个事件或重复事件.例如,11月份的11月第3个星期四,或者是12月25日,或从11月2日开始的每两个星期,直到次年9月8日.

我不关心插入效率,但查询效率至关重要.我最常做的操作是提供单个日期/时间或日期/时间范围,并尝试确定定义的计划是否与日期/时间范围的任何部分相匹配.其他操作可能会更慢.例如,2010年1月15日上午10:00至2010年1月15日上午11:00,找到与该时间至少部分匹配的所有时间表. (即涵盖10:30至11:00的时间表仍然匹配.)

有什么建议么?我看着How would one represent scheduled events in an RDBMS?,但并不涵盖我想建模的循环规则类型的范围.

解决方法

最后,这篇文章是最有帮助的:

iCal “Field” list (for database schema based on iCal standard)

我们决定跟随iCal模型,因为那些写这个标准的人对问题领域有很好的感觉.

猜你在找的MsSQL相关文章