我正在设计我的第一个电子商务模式。我已经阅读了一段时间,对an order_line_item
和a 之间的关系有些困惑product
一个product
可以被购买。它具有各种细节,但最重要的是unit_price
。
在客户购买产品时,An order_line_item
具有product_id
购买,quantity
购买和购买时的外键unit_price
。
我读过的大部分内容都说unit_price
上的order_line_item
应该显式添加(即,不通过引用product_id
)。这是有道理的,因为商店将来可能会更改价格,这会弄乱订单报告,跟踪,完整性等。
我不明白的是,为什么直接将unit_price
值保存到order_line_item
?
创建记录unit_price
变更记录的审计/历史记录表会更好product
吗?
order_line_item
创建an时,将product_audit
添加表的外键,并可以从此处检索价格(通过引用)。
在我看来,使用这种方法有很多好处(减少数据重复,更改价格历史记录等),那么为什么不更频繁地使用它呢?我没有遇到使用这种方法的电子商务模式的示例,我错过了什么吗?
UDPATE:看来我的问题与尺寸变化缓慢有关。我仍然很困惑,因为“缓慢变化的维度”与数据仓库和OLAP有关。那么,是否可以将“缓慢更改维度”类型应用于我的主要业务交易流程数据库(OLTP)?我想知道我是否将很多概念混在一起,将不胜感激一些指导。