假设,如果我是与该跟踪产品和跨多个表顺序信息(订单,ORDER_ITEMS,产品)保持与恒定的编辑顺序的数据完整性
orders
id INT(11)
shipping_name VARCHAR(255)
shipping_street VARCHAR(255)
shipping_city VARCHAR(255)
[etc]
order_details
id INT(11)
order_id INT(11)
product_id INT(11)
products
id INT(11)
name VARCHAR(255)
description VARCHAR(255)
price DECIMAL(8,2)
结构非常简单order
具有多个系统order_items
,order_items
有一个product
。
问题是,当有人编辑产品时,这些编辑会修改以前订单的数据。如果员工稍后返回并查看该信息,则他们可能没有与订单发出时客户收到的信息相同的信息。
什么是最佳实践? 我应该为产品表添加一个'display_item'字段,并在编辑/删除设置显示为0并添加编辑的产品为新行? 我应该在order_details中复制名称,描述和价格吗?
看看[这篇文章](http://stackoverflow.com/a/11930467/533120)。 –