Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在默认的Quartz.Net数据库结构上构建有哪些优点/缺点_Database_Database Design_Quartz Scheduler_Quartz.net - Fatal编程技术网

Database 在默认的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.Net数据库来添加有关即将运行的项目的信息。(例如,用户界面提示文本、参数值类型是否允许多个值)

我不同意这一点,因为数据库直接映射到Quartz.Net库的调用。在我看来,数据库只是作为一种方法存在的,当它所在的计算机关闭时,它可以保存计划和触发器

我确信Quartz数据库中不应该有任何与将要使用它的项目相关联的逻辑

我真的无法反驳我的观点,因为我在数据库设计方面没有广泛的背景

有人能帮我介绍一下添加到提供的Quartz.Net数据库模式的优缺点吗

编辑:


他们不想修改现有的表,但希望向数据库中添加额外的表并使用这些表。

我认为这不会有什么大问题,但我会小心地创建与Quartz表的外键关系

石英表/触发器在默认情况下以QRTZ作为前缀,这一事实意味着设计者正在命名它们,以便它们不会与同一数据库中的其他表冲突,因此他们一定会想到这一点

如果您的表正在定义与quartz表的外键关系,则cons将启动,这将创建对quartz表的强烈依赖

例如,如果您正在创建一个历史记录表以显示每个作业的计划时间,并且您选择创建一个从表到QRTZ_job_DETAIL表的外键约束,则这将意味着您将无法删除该作业(除非您删除历史记录表中的相关记录)

因此,最好只创建包含作业名称列的历史记录表,而不强制执行引用完整性

如果你链接到了石英表,你还需要考虑如果你想升级到未来的版本,在那里重新设计了数据库结构。 一个主要的优点是信息都在同一个地方。您有一个数据库要备份,如果您的系统/服务器崩溃,需要从备份中恢复,那么您就知道表和quartz表中的信息是一致的


如果您有一个现有的Sql数据库,并且希望计划与该数据库相关的作业。在这种情况下,将Quartz表添加到现有数据库而不是维护两个数据库是有意义的

你说的是在数据库中有额外的表,还是在石英表中添加额外的列(例如QRTZ_JOB_DETAIL)。