我想写一个日历应用程序。确实是反复出现的项目对 DB 模式的工作造成了影响。我很想就如何组织这个问题提供一些意见。
如果用户创建一个事件,并输入它在星期一每个人都重复,永远?我如何将所有这些存储在数据库中?我无法创建无限事件。我是否只是在其中放置一个包含相关信息的表格,以便我可以计算所有事件的去向?如果是这样,每次用户查看日历的新部分时,我都必须计算它们。如果他们浏览了几个月,但他们有大量的经常性项目怎么办?
此外,当用户单击一个项目并说“编辑序列中的这个”时,模式需要处理,而不是序列中的所有项目。然后我是否将一个项目从序列中拆分出来?
更新 1
我根本没有看过 iCal。需要明确的是,我认为保存允许您计算重复项目的信息,并拆分任何与序列不同的信息是存储它以便能够传输它的好方法。但我认为在应用程序中,这太慢了,无法在所有地方进行日期数学运算。