database-design - 数据库设计最佳实践-订单处理数据库-产品更新可有效更改已关闭发票的位置

标签 database-design

在了解了此处的最佳做法之后。

我正在建立一个订单处理数据库,该数据库管理库存,订单和发票。

到目前为止,在我的设计中,发票和订单具有对产品表的外键引用。如果要在创建订单/发票后更新产品,那么如果再次查看,则rder/发票上的项目列表可能会更改。

我打算通过创建“OrderItems”表来管理此问题,该表存储了在创建订单/发票时的产品数据的不可变副本,并让订单引用此表而不是可变产品 table 。

这是处理此问题的常用方法吗?还有其他方法吗?

谢谢

最佳答案

这与数据仓库中的“维数缓慢变化”问题有关。有六种标准解决方案。

http://en.wikipedia.org/wiki/Slowly_changing_dimension

您的“卡住副本”类似于Type 4算法。

关于database-design - 数据库设计最佳实践-订单处理数据库-产品更新可有效更改已关闭发票的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213574/

相关文章:

php - slug 的伪哈希索引

database - 同一张表上的多对多关系在 UML 中看起来像什么

php - 从逻辑上考虑数据库结构 : Adding 'tags' to things users post - A seperate table or. ..?

database - 复合主键或单主键

mySQL KEY 使用三个表字段(列)进行分区

mysql - 数据库设计问题 - 不同类别的多个分数

database-design - 数据库设计 : Best table structure for capturing the User/Friend relationship?

database - 如何保护数据库?

database - 建模多个多对多关系的最自然方式

database-design - 在 dynamodb 中存储树状结构