2012-07-27 9 views
1

我目前正在设计一个模块,其中服务或控制台应用程序将从JobQueue表读取作业。我设计了JobQueue表中有下列信息:在作业队列表本身中有工作细节还是在单独的表中有详细信息是否很好?

的JobId:INT的PrimaryKey

JobType:INT NOTNULL

国家:VARCHAR NOTNULL

CreatedOn:日期时间NOTNULL

LastModifiedOn :日期时间可为空

CompletedOn:日期时间可为空

JobType属性主要用于保持此表更通用,而不是特定类型的作业。我的问题是,是否要保留工作细节在这个表格本身或其他一些带有作业ID参考的表格中执行?这是因为我有一些其他表格中的数据。所以在执行作业时,我们可以间接获取数据。为了避免重复信息,我想到了这样的事情。这是一个好方法吗?需要你对这个

回答

0

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

0

的意见,我并不认为有很多属性在这里(也许你并没有表现出那些?)

我看到一个ID(作业ID)显然需要,类型和状态信息(看不出你可以不用这些数据。)

然后你有审计信息,创建,修改和完成。我自己喜欢在那里放置一个字符串,用于创建谁和修改,但是我在创建的每个表中都有这些审核信息。当您不确定发生了什么并且您正在尝试维护数据库时,它总是很有用。

+0

非常感谢Hogan的回复..我在表中维护谁创建,修改过的信息。但我的主要疑问是是否需要作为jobqueue表本身或其他表的一部分来执行作业所需的数据,因为我有其他表中的数据可用,并且可以从那里获取数据 – Vinoth 2012-07-27 12:59:02

+0

你在说什么数据关于?你没有在你的问题中显示的东西? – Hogan 2012-07-27 13:01:39

+0

是的东西那不是jobqueue表的一部分。但是,这是与数据,工作将被执行。 – Vinoth 2012-07-27 13:43:17

相关问题