微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个有趣的问题,试图在数据库中表示复杂的计划数据.作为指导,我需要能够代表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模型,因为那些写这个标准的人对问题领域有很好的感觉.

原文地址:https://www.jb51.cc/mssql/76218.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐