想象一下,我有一个包含 OrderID (PK)、CustomerID、CustomerOrderN 等列的 Orders 表。现在我需要添加“关闭”订单的可能性,并指定关闭订单的原因(例如“报价对客户来说太高”、“不可用”、“客户要求关闭订单”)。
问题 1.在数据库设计中实现这一点的最佳和正确方法是什么?
我认为最好的方法是创建可以为空的已关闭列(如果订单已打开),如果不为空(即如果订单已关闭),则该值指向另一个表 OrderCloseReasons。
问题 2.如果我已经在 Orders 表中有一个已关闭的布尔列怎么办,现在我需要实现指定关闭原因的可能性。我不能重构太多,因为系统已经不是那么小了,所以很难重构数据库方案。在这种情况下,增加指定关闭原因的可能性的最佳方法是什么?
我认为如果我只是将 CloseReasonID 列添加到 Orders 表中,那就不好了。但我不确定。
先感谢您。