我应该使用附加位来反规范化连接,还是什么?

时间:2017-04-17 07:37:24

标签: sql sql-server database-design database-normalization

我的系统中有很多文件,例如订单发票,请购单等。为了跟踪他们的审批工作流程,我有一个公共表格,其中我有以下列。

WFID  ActionDate  DocInstancetype DocinstanceID  iscurrent   status
1     2017-04-04      PO              58            0       Submitted
2     2017-04-05      PO              58            1       Approved
3     2017-04-04      PR              74            1       Submitted 

在我的报告中,我通常只需考虑批准的文件。在Documents Master表中(在PR和PO表中)添加IsApproved位并使用触发器同步它是一个好主意,这样每次我需要获得批准的文档时我都可以避免与工作流表连接仅?

任何其他更好的建议也将受到赞赏。

1 个答案:

答案 0 :(得分:0)

文档表应包含状态(不是is_approved),因为您可能需要根据文档状态过滤文档,但今天您的需求仅限于status ="已批准"。状态更改历史应保留在另一个表workflow中,但我建议`document_status_tracking'或者只是' document_tracking'这将是一个更好的名称。