sql - 如何处理重复发生的日历事件和任务(SQL Server 表和 C#)

标签 sql sql-server database-design

我需要在我的数据库中安排事件、任务、约会等。其中有些是一次性约会,有些是必须勾选的重复出现的“待办事项”。在查看了谷歌的日历布局和其他内容之后,再加上在这里进行了大量阅读,这就是我到目前为止所拥有的。

日历表(我猜可以称为日程表):Basic_Event 标题、开始/结束、重复信息。

日历发生表:与时间表、发生特定文本、下一次发生日期/时间相关联???

查看 SQL Server 如何完成其​​工作:http://technet.microsoft.com/en-us/library/ms178644.aspx 但这略有不同。

为什么有两个表:我需要跟踪重复任务的每个实例的状态。否则这会简单得多...

那么...接下来的问题是:

1)这看起来是正确的解决方法吗?有没有更好的方法来处理多次出现的问题?
2) 我应该多久/如何触发事件的创建?我真的不想创建一堆事件...但是...如果用户想查看明年的日历怎么办...

最佳答案

将任务的计划定义放在一个表中,然后使用一个单独的表来单独记录该任务的每个实例是有意义的 - 这就是我过去采用的方法。

关于创建事件,可能不需要预先创建它们。尤其是当您考虑无限重复的任务时!同样,我过去使用的方法是仅创建下一个事件。当该实例被操作时,就会计算并创建下一个实例。

这就留下了查看 future 事件的问题。为此,您可以从初始/下一个计划发生的事件开始,然后在显示时即时计算 future 发生的事件。

关于sql - 如何处理重复发生的日历事件和任务(SQL Server 表和 C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9624699/

相关文章:

sql - 'likes' 或 'endorsements' 的数据库结构

c# - 使用 Microsoft.SqlServer.Management.Smo 从 StoredProc 获取结果列而不执行它

c# - 我可以缓存的最大值是多少?

sql - 如何在执行存储过程脚本时声明静态日期?

sql-server - 启动时 Microsoft SQL Server Management Studio 错误

database - 将表规范化为第三范式

sql - rails order through count 在其他表上

.net - SELECT INTO 附加一列

php - 通过 SQL 注入(inject)从数据库中提取信息

postgresql - 多对多约束到同一个父表