我目前正在为我的客户开发一个小型客户关系和发票管理系统。我遇到了一些我想讨论的小问题。
围绕订单、客户和产品的最佳实践是什么。我的客户应该能够删除订单、客户和产品吗?
目前,我围绕订单、客户和产品之间的关系原则设计了我的数据库,如下所示:
客户
ID
名称
...
产品
编号
名称
价格
...
订单
ID
CustomerID
OrderDate
...
订单行
ID
OrderID
ProductID
像这样我可以连接所有不同的表。但是,如果我的客户删除了一个产品,当他后来打开几个月前创建的包含该项目的订单时会发生什么。它会消失,因为它已被删除。客户也一样。
我应该在单击删除按钮时禁用产品和客户还是最佳做法是什么?
如果我在客户决定删除产品时说禁用产品,那么如果他稍后尝试添加与禁用产品具有相同产品 ID 的新产品,我应该再次启用该项目吗?
请分享你的智慧:D