1

我目前正在设计一个模块,服务或控制台应用程序将从 JobQueue 表中读取 Job。我设计了 JobQueue 表,其中包含以下信息:

JobId: int 主键

作业类型:int notnull

状态:varchar notnull

CreatedOn: datetime notnull

LastModifiedOn:日期时间可为空

CompletedOn:日期时间可为空

引入 JobType 属性主要是为了使该表更通用,而不是针对特定类型的工作。我的问题是是否将要执行的作业的详细信息保留在此表本身或其他具有作业 ID 引用它的表中?这是因为我在其他表中有可用的数据。因此,在执行作业时,我们可以间接获取数据。为了避免重复信息,我想到了这样的事情。这是一个好方法吗?需要你的建议

4

2 回答 2

0

我在这里看不到很多属性(也许您没有显示这些属性?)

我看到了一个明确需要的 id (jobID)、类型和状态信息(如果没有这些数据,您将无法理解。)

然后你就有了审计信息,创建、修改和完成。我自己喜欢在里面放一个字符串来说明谁创建了谁修改了,但是我在我创建的每个表中都有审计信息。当您不确定发生了什么并试图维护数据库时,它总是有用的。

于 2012-07-27T12:51:30.983 回答
0

将您在该表中的“其他表”中的任何数据保留。您在这里需要考虑的是您将如何使用这些数据。
如果您要显示一些索引作业,您可以从中选择一个来查看详细信息,您可以在两个单独的提取中获取数据。或者,如果您需要与作业相关的所有数据(JobQueue 表中的数据加上“其他表”中的数据),您始终可以使用 JOIN 执行一次提取。我不认为将 JobDetails 数据保存在单独的表中会导致任何问题。

于 2012-07-27T13:34:26.953 回答