gpt4 book ai didi

sql - 用于存储事件重复发生的详细信息的数据库设计

转载 作者:行者123 更新时间:2023-12-03 03:30:50 25 4
gpt4 key购买 nike

我需要实现一项与 Microsoft Outlook 提供的功能类似的功能,以使您的 session 预约重复出现。我正在尝试找出实现此功能所需的优化数据库设计。

要求类似于用户输入的每次运行或任务也适用于像定期事件一样的调度 - 每周、每月或每年。您能否建议我使用数据库模型 - 表结构(带约束)来将这些详细信息存储在数据库中,程序随后可以访问这些详细信息以执行适当的任务。一些可能的调度程序详细信息的屏幕截图可以在 following link 中找到。 。

我们有一个在后端运行的 mysql 数据库来存储这些详细信息。一旦用户提交请求,带有请求详细信息的请求 ID 就会存储在表中,然后程序将执行与其相对应的操作。更澄清的是,用户的意图是运行 sql 脚本,获取值,然后对其执行统计分析。但由于oracle引用数据库是由许多用户动态更新的,他希望以循环方式运行它并完成分析。请注意,mysql 数据库和 ref 数据库是不同的。

如果您需要任何其他详细信息,请告诉我。!

最佳答案

我建议将第一次发生的详细信息存储在一个表(计划任务)中,然后将重复(重复任务)详细信息存储在另一个表中。

当每项任务完成时,我也可能会尝试更新下一次发生的计划任务表。

对于表格布局,粗略的草图如下:

[计划任务]
TaskId(主键)
描述和详细信息等...
开始日期时间
结束日期时间

[重复任务]
TaskId(外键)
频率:每日、每周、每月或每年。
DayNo :在哪一天运行(1-7 为每周,1-31 为每月,1-365 为每年)
间隔:每 x 周、每月等。
WeekOfMonth :第一、第二、第三...等如果填充,则 DayNo 指定一周中的日期
MonthOfYear :1-12。
EndDatetime :最后执行的日期
出现次数:执行的次数。如果此值和前一个值均为 null,则永远执行。

显然,根据任务的设置方式,某些字段将是空白的,但我认为上述内容涵盖了在 Outlook 中模拟任务所需的所有内容。

关于sql - 用于存储事件重复发生的详细信息的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1662961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com