这是“什么是最佳实践”的问题。
我有 3 个表:订单、客户和地址。
Order
------
ID
ADDRESS_ID
Customer
------
ID
Address
------
ID
CUSTOMER_ID
IS_HIDDEN
用户可以有多个地址,并且可以随时自由编辑它们。当用户下订单时,我需要存储他当时地址的“快照”,将其与订单相关联并使其对用户不可用。换句话说,我想复制将由 Order 表而不是 Customer 拥有的地址行。需要以某种方式指示此所有权(例如使用 IS_HIDDEN 标志)。
这是正确的方法,地址表中的某些数据有时由客户表“拥有”,有时由“订单”“拥有”吗?
另一种解决方案是按顺序复制地址表中的所有列,因此所有权将是明确的,但我对模式中的重复有不好的感觉。