0

客户可以多次购买,但只能购买一次该商品,但最多可有 10 位其他客户购买同一商品。有没有办法可以在我的数据库设计中实现这一点,或者我必须在应用程序端做些什么?

4

1 回答 1

1

这可以在您的数据库中实现,但这是一个坏主意。原因:

  • 您的数据库用于表示数据,而不是表示管理数据使用的业务规则。将数据表示与业务逻辑分开可以让您更加灵活,例如,如果需要,可以切换到新数据库。
  • 将数据放入和取出数据库的代码可能会尝试违反这些规则,因此您需要首先阻止将选项呈现给客户,或者显示格式正确的错误。这两种情况都要求代码了解将在数据库中表示的任何业务规则,因此首先将它们放在数据库中是没有意义的。只需在您的代码中编写一次。

一种解决方案是创建某种采购管理器对象,该对象控制是否可以进行采购,将业务逻辑全部封装在一个地方。

于 2012-07-03T10:40:49.307 回答