电子商务订单系统不可变订单

时间:2014-01-19 07:47:19

标签: mysql database-design e-commerce

我使用经典模式来建模电子商务系统。见下图:

tables relation

我的问题是:当产品从数据库中删除并且客户已为此产品订购时会发生什么? 我使用InnoDB,因此我对OrderDetails.productCode(ON DELETE SET NULL)有一个约束,但是如果产品被删除则不太好我在显示orderDetails项时无法检索有关此产品的信息。

正确的数据库模式是什么?让产品不变?我的意思是让他们无法容忍?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以在删除之前检查产品是否有任何订单,如果是,请使用删除= 1等标记将其视为已删除。