【发布时间】:2011-04-20 13:21:21
【问题描述】:
我目前正在为我的客户开发一个小型客户关系和发票管理系统。我遇到了一些我想讨论的小问题。
关于订单、客户和产品的最佳做法是什么。我的客户是否可以删除订单、客户和产品?
目前我围绕订单、客户和产品之间的关系原则设计了我的数据库,如下所示:
客户
身份证
名称
...
产品
身份证
名称
价格
...
订购
身份证
客户编号
订购日期
...
订单行
身份证
订单编号
产品ID
这样我可以连接所有不同的表。但是,如果我的客户删除了一个产品,当他后来打开几个月前创建的包含该项目的订单时会发生什么。它会消失,因为它已被删除。客户也是如此。
我应该在单击删除按钮时禁用产品和客户还是最佳做法?
如果我在客户决定删除产品时说禁用产品,那么如果他稍后尝试添加与禁用产品具有相同产品 ID 的新产品,我是否应该再次启用该项目?
请分享你的智慧:D
【问题讨论】:
标签: database database-design crm invoice