Database 在默认的Quartz.Net数据库结构上构建有哪些优点/缺点
我的公司正在为我们的员工创建一个调度程序 我的两位同事希望使用提供的Quartz.Net数据库来添加有关即将运行的项目的信息。(例如,用户界面提示文本、参数值类型是否允许多个值) 我不同意这一点,因为数据库直接映射到Quartz.Net库的调用。在我看来,数据库只是作为一种方法存在的,当它所在的计算机关闭时,它可以保存计划和触发器 我确信Quartz数据库中不应该有任何与将要使用它的项目相关联的逻辑 我真的无法反驳我的观点,因为我在数据库设计方面没有广泛的背景 有人能帮我介绍一下添加到提供的Quartz.Net数据库模式的优缺点吗 编辑:Database 在默认的Quartz.Net数据库结构上构建有哪些优点/缺点,database,database-design,quartz-scheduler,quartz.net,Database,Database Design,Quartz Scheduler,Quartz.net,我的公司正在为我们的员工创建一个调度程序 我的两位同事希望使用提供的Quartz.Net数据库来添加有关即将运行的项目的信息。(例如,用户界面提示文本、参数值类型是否允许多个值) 我不同意这一点,因为数据库直接映射到Quartz.Net库的调用。在我看来,数据库只是作为一种方法存在的,当它所在的计算机关闭时,它可以保存计划和触发器 我确信Quartz数据库中不应该有任何与将要使用它的项目相关联的逻辑 我真的无法反驳我的观点,因为我在数据库设计方面没有广泛的背景 有人能帮我介绍一下添加到提供的Qu
他们不想修改现有的表,但希望向数据库中添加额外的表并使用这些表。我认为这不会有什么大问题,但我会小心地创建与Quartz表的外键关系 石英表/触发器在默认情况下以QRTZ作为前缀,这一事实意味着设计者正在命名它们,以便它们不会与同一数据库中的其他表冲突,因此他们一定会想到这一点 如果您的表正在定义与quartz表的外键关系,则cons将启动,这将创建对quartz表的强烈依赖 例如,如果您正在创建一个历史记录表以显示每个作业的计划时间,并且您选择创建一个从表到QRTZ_job_DETAIL表的外键约束,则这将意味着您将无法删除该作业(除非您删除历史记录表中的相关记录) 因此,最好只创建包含作业名称列的历史记录表,而不强制执行引用完整性
如果你链接到了石英表,你还需要考虑如果你想升级到未来的版本,在那里重新设计了数据库结构。 一个主要的优点是信息都在同一个地方。您有一个数据库要备份,如果您的系统/服务器崩溃,需要从备份中恢复,那么您就知道表和quartz表中的信息是一致的
如果您有一个现有的Sql数据库,并且希望计划与该数据库相关的作业。在这种情况下,将Quartz表添加到现有数据库而不是维护两个数据库是有意义的 你说的是在数据库中有额外的表,还是在石英表中添加额外的列(例如QRTZ_JOB_DETAIL)。