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

Mysql 电子商务订单系统不可变订单,mysql,database-design,e-commerce,Mysql,Database Design,E Commerce,我使用一个经典的模式来建模一个电子商务系统。见下图: 我的问题是:当一个产品从数据库中删除,并且客户已经为该产品下了订单时,会发生什么情况? 我使用InnoDB,因此我对OrderDetails.productCode(在删除集NULL上)有一个约束,但这并不好,因为如果产品被删除,我在显示OrderDetails项目时无法检索有关该产品的信息 正确的db模式是什么?使产品不变?我的意思是让他们变得不可救药 感谢您的帮助您可以在删除之前检查产品上是否有订单,如果有,请使用deleted=1等标

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

我的问题是:当一个产品从数据库中删除,并且客户已经为该产品下了订单时,会发生什么情况? 我使用InnoDB,因此我对OrderDetails.productCode(在删除集NULL上)有一个约束,但这并不好,因为如果产品被删除,我在显示OrderDetails项目时无法检索有关该产品的信息

正确的db模式是什么?使产品不变?我的意思是让他们变得不可救药


感谢您的帮助

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

确定。谢谢你的帮助。