ksh*_*tij 8 sql database-design data-modeling
我需要实现类似于Microsoft Outlook提供的功能,以使您的会议预约重复进行.我试图找出我将要求实现此功能的优化数据库设计.
该要求类似于用户输入的每个运行或任务也适用于诸如周期事件(每周,每月或每年)的安排.能否请您建议数据库模型 - 用于在DB中存储这些详细信息的表结构(带有约束),然后程序可以访问它以执行相应的任务.可以在以下链接中找到一些可能的调度程序详细信息的屏幕截图.
我们在后端运行了一个mysql DB来存储这些细节.一旦用户提交请求,具有请求细节的请求id就存储在表中,然后程序采取与其对应的动作.更清楚的是,用户的意图是运行sql脚本,获取值,然后对其执行统计分析.但是,由于oracle参考DB由许多用户动态更新,他希望以循环方式运行它并完成分析.请注意,mysql db和ref DB是不同的.
如果您需要任何其他细节,请告诉我.
Mar*_*tin 10
我建议将第一次出现的详细信息存储在一个表中(计划任务),然后将另一个表中的重复性(重复任务)详细信息存储起来.
然后,我可能还会尝试在每个任务完成时更新下一次出现的计划任务表.
至于表格布局,粗略草图如下:
[ScehduledTasks]
TaskId(主键)
描述和详细信息等...
开始日期时间
结束日期时间
[RecurringTasks]
TaskId(外键)
频率:每日,每周,每月或每年.
DayNo :运行的日期(每周1-7,每月1-31,每年1-365)
间隔 :每x周,几个月等
.OyeOfMonth :第一,第二,第三......等等如果填充,则DayNo指定星期几.
MonthOfYear :1-12.
EndDatetime :执行的最后日期
OCCURENCES 的次数来执行.如果此值和前一个值为null,则执行永久.
根据任务的设置方式,某些字段显然是空白的,但我认为上述内容涵盖了在Outlook中模拟任务所需的全部内容.