我有一个Checks表和一个具有一对多关系的Purchase Orders表。 (每个支票有n个采购订单,每个采购订单有1个或0个支票) 用户通常会将检查添加到采购订单,然后修改检查详细信息。有时他们稍后会从PO中删除支票并添加另一个。
我想跟踪检查和采购订单的所有更改,并根据需要显示审计跟踪。典型的审计跟踪如下所示:
我正在尝试找出如何以规范化方式跟踪表格的更改。当用户更改支票的详细信息时,带有该检查的所有 PO的审计跟踪将显示更改。但审计跟踪应仅显示支票的更改,而支票已附加到相关采购订单。
考虑一种方法,我有ChequeAudit和POAudit表,并在每次基表中的某些内容发生更改时在这些表中存储一行。现在,为了向用户显示采购订单的更改列表,我可以返回有关采购订单本身的所有行,此外还有与采购订单上的任何检查相关的所有行。但是,我需要排除有关在检查添加到采购订单之前进行的支票更改的行,或者从支票单中删除支票后的行。并且日期间隔的直接加入将不起作用,因为可以多次附加和删除支票。
我还没有找到一种方法来在支票更改日志中存储单个条目,并轻松将其链接回采购订单。具体来说,我需要什么数据库结构来查询采购订单,并返回对检查附加到采购订单时发生时发生的任何检查所做的所有更改?这是否可以正常化,或者我是否被迫针对每个关联的PO记录单个更改到支票的详细信息?