关于多用户日历提醒功能的数据库设计
来源:互联网 发布:移动网络有服务器吗 编辑:程序博客网 时间:2024/05/23 00:57
在日历中有个功能就是可以设置重复的事件,比如我在日历中加入一个
事件,然后可以设置这个事件按天,或者按星期,或者按月,或者按年重复提醒。
如果每个事件都是一条记录的话,肯定不可行,会导致过多的记录。但如果
是所有重复事件加个标志位使它成为一条记录的话也有个问题。就是需求中在
这一系列重复事件中我可以单独改一个事件而不影响其他事件。举个例子,我建一个事件,然后指定
这个事件在2008年12月份中的每天的12点,那我在日历中12月的每一天都可以看到这个
事件,然后我可以单独修改12月22日的事件而不影响其他的事件。这样肯定不能用一条记录。
想请教下数据库该如何设计,可以参考google日历的事件重复功能,功能差不多
我的个人看法如下:
我们出发事件的间隔是多少呢?
如果是一小时,那么我们每隔1小时进行一次检测就行了。
如果是1分钟.. 一秒钟。。。 那么如果用户量大,那是一个灾难。
需求不同,设计不同。我认为一个小时已经很不错了。
如果是每天,那就太简单了,每年才触发365次,这类功能用
Timer
或者
Quartz都可以轻松实现。
忘了说了,每个人设置的事件,当然要单独保存一条记录。
目前一般的数据库,单个表能保存几十亿的数据,你可以算算,那些能支持多少人同时使用?太恐怖了吧!
就算每个小时设置一个,一个用户一年才 365×24,
实际上,每个人平均有100个就不少了。呵呵!而且,我们可以将那些过期的数据移动到历史表里面去
最后,数据库保存方式,可以将日期分别保存为年,月,日,星期,小时
那些不需要指定某些数据的,就保存为-1.这样查询时,就可以用
你的触发应该分成年度,月度,每日,定时等分别进行查询处理。也就是不同的定时器。他们同时运行。
比如每年的12月25日,可以写成
select * fomr TaskList where month=12 and day=25 and hour=-1
这样就行了。
类似的,其它的触发也可以类似的书写。
事件,然后可以设置这个事件按天,或者按星期,或者按月,或者按年重复提醒。
如果每个事件都是一条记录的话,肯定不可行,会导致过多的记录。但如果
是所有重复事件加个标志位使它成为一条记录的话也有个问题。就是需求中在
这一系列重复事件中我可以单独改一个事件而不影响其他事件。举个例子,我建一个事件,然后指定
这个事件在2008年12月份中的每天的12点,那我在日历中12月的每一天都可以看到这个
事件,然后我可以单独修改12月22日的事件而不影响其他的事件。这样肯定不能用一条记录。
想请教下数据库该如何设计,可以参考google日历的事件重复功能,功能差不多
我的个人看法如下:
我们出发事件的间隔是多少呢?
如果是一小时,那么我们每隔1小时进行一次检测就行了。
如果是1分钟.. 一秒钟。。。 那么如果用户量大,那是一个灾难。
需求不同,设计不同。我认为一个小时已经很不错了。
如果是每天,那就太简单了,每年才触发365次,这类功能用
Timer
或者
Quartz都可以轻松实现。
忘了说了,每个人设置的事件,当然要单独保存一条记录。
目前一般的数据库,单个表能保存几十亿的数据,你可以算算,那些能支持多少人同时使用?太恐怖了吧!
就算每个小时设置一个,一个用户一年才 365×24,
实际上,每个人平均有100个就不少了。呵呵!而且,我们可以将那些过期的数据移动到历史表里面去
最后,数据库保存方式,可以将日期分别保存为年,月,日,星期,小时
那些不需要指定某些数据的,就保存为-1.这样查询时,就可以用
你的触发应该分成年度,月度,每日,定时等分别进行查询处理。也就是不同的定时器。他们同时运行。
比如每年的12月25日,可以写成
select * fomr TaskList where month=12 and day=25 and hour=-1
这样就行了。
类似的,其它的触发也可以类似的书写。
- 关于多用户日历提醒功能的数据库设计
- 关于多用户日历提醒功能的数据库设计
- [Extjs]带提醒功能的日历
- 关于短信提醒功能
- oc的日历提醒机制
- 通知、消息、提醒的数据库设计
- 多用户分组权限管理问题的数据库设计
- [技术讨论]多用户(多公司)的数据库设计讨论
- 关于iPhone6下拉菜单中股票,日历提醒显示与隐藏的的问题
- CSDN的提醒功能
- 关于功能的设计
- 仿google的日历日程提醒
- google日历的农历循环提醒
- SharePoint和Outlook组合构建日历提醒功能
- 关于用js实现的日历记事功能
- 关于Calendar和Reminder(日历和提醒)编程指南
- 关于Calendar和Reminder(日历和提醒)编程指南
- Google日历的功能
- json 相关
- A question of OpenCMS on Weblogic 8.1
- VC++动态链接库(DLL)编程(一)――理解库
- 为2440搭建NFS开发环境
- 是什么影响了MID的销售票房!
- 关于多用户日历提醒功能的数据库设计
- VC++动态链接库(DLL)编程(二)--非MFC DLL
- 关于方法重载
- man 一个指定文件
- A example code of multithread communication in Python
- VC++动态链接库(DLL)编程(三)――MFC规则DLL
- JFreeChat API
- VC常用数据类型使用转换
- 微软学生学习中心