谷歌日历重复活动数据库设计
在日历中有个功能就是可以设置重复的事件,比如我在日历中加入一个
事件,然后可以设置这个事件按天,或者按星期,或者按月,或者按年重复提醒。
如果每个事件都是一条记录的话,肯定不可行,会导致过多的记录。但如果
是所有重复事件加个标志位使它成为一条记录的话也有个问题。就是需求中在
这一系列重复事件中我可以单独改一个事件而不影响其他事件。举个例子,我建一个事件,然后指定
这个事件在2008年12月份中的每天的12点,那我在日历中12月的每一天都可以看到这个
事件,然后我可以单独修改12月22日的事件而不影响其他的事件。这样肯定不能用一条记录。
想请教下数据库该如何设计,可以参考google日历的事件重复功能,功能差不多
这是csdn上的一个老问题了,原帖地址http://bbs.csdn.net/topics/290074206
其中有两种方案【hbwhwang】的方案不能解决单独改一个事件而不影响其他事件的问题,
【java2000_net 】的方案又太浪费数据库资源了,有没有别的方法
------解决方案--------------------楼主可以看看sql server作业里面的计划是怎么设计的,感觉应该可以满足楼主的要求。
------解决方案--------------------看里面的“计划”
http://www.soaspx.com/dotnet/sql/mssql/sql2005/sqlservr2005_20120308_8721.html
------解决方案--------------------可以用一个表实现,按每个时间周期(月、周、天等)作为类型控制
但若要定点触发,就比较麻烦了
------解决方案-------------------- select * from [dbo].[sysjobschedules]
select * from [dbo].[sysschedules]
去把这两个表的结构搞清楚,按照这个设计就可以了。