在了解了此处的最佳做法之后。
我正在建立一个订单处理数据库,该数据库管理库存,订单和发票。
到目前为止,在我的设计中,发票和订单具有对产品表的外键引用。如果要在创建订单/发票后更新产品,那么如果再次查看,则rder/发票上的项目列表可能会更改。
我打算通过创建“OrderItems”表来管理此问题,该表存储了在创建订单/发票时的产品数据的不可变副本,并让订单引用此表而不是可变产品 table 。
这是处理此问题的常用方法吗?还有其他方法吗?
谢谢
最佳答案
这与数据仓库中的“维数缓慢变化”问题有关。有六种标准解决方案。
http://en.wikipedia.org/wiki/Slowly_changing_dimension
您的“卡住副本”类似于Type 4算法。
关于database-design - 数据库设计最佳实践-订单处理数据库-产品更新可有效更改已关闭发票的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213574/