【发布时间】:2011-06-06 21:27:21
【问题描述】:
我想编写一个日历应用程序。确实是反复出现的项目对 DB 模式的工作造成了影响。我想就如何组织它提供一些意见。
如果用户创建了一个事件,并输入了它在星期一每个人都重复的内容,那么会怎样?我如何将所有这些存储在数据库中?我无法创建无限事件。我是否只是在其中放置一个包含相关信息的表格,以便我可以计算所有事件的去向?如果是这样,每次用户查看日历的新部分时,我都必须计算它们。如果他们浏览了几个月,但他们有大量重复项目怎么办?
此外,当用户单击一个项目并说“编辑序列中的这个”时,架构需要处理,而不是序列中的所有项目。然后我是否将一个项目从序列中拆分出来?
更新 1
我根本没有看过 iCal。需要明确的是,我认为保存允许您计算重复项目的信息,并拆分任何与序列不同的信息是存储它以便能够传输它的好方法。但我认为在应用程序中,这太慢了,无法在所有地方进行日期数学运算。
【问题讨论】:
-
“然后我是否将一个项目从序列中拆分出来?”我相信这就是 iCal 文件格式处理它的方式。你研究过那种格式吗?
-
多么好的问题,前几天我自己也在想这个问题。
标签: database schema calendar normalization