2014-01-19 48 views
0

我使用经典模式来模拟电子商务系统。见下图:电子商务订单系统不可改变的订单

tables relation

我的问题是:当一个产品被从数据库中删除,订单已经由提供该产品的客户做会发生什么? 我使用InnoDB,所以我对OrderDetails.productCode(ON DELETE SET NULL)有一个约束,但是这不是很好,因为如果产品被移除,当我显示orderDetails项目时我无法检索有关此产品的信息。

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

感谢您的帮助

回答

0

您可以检查产品是否具有删除之前,它的任何订单,如果是的话,使用标志,如删除= 1把它当作删除。

+0

好的。谢谢你的帮助。 –