限制客户购买

时间:2012-07-03 09:45:52

标签: mysql sql database

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

1 个答案:

答案 0 :(得分:1)

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

  • 您的数据库用于表示数据,而不是表示业务规则 管理数据的使用。保持数据表示 与业务逻辑分开使您可以更灵活,例如 如果需要,可以切换到新的数据库。
  • 放置数据的代码 进出DB可能会试图违反这些规则,所以你需要 要么阻止首先提供给客户的选项,要么显示 格式正确的错误。这两种情况都需要代码 了解任何业务规则 在数据库中表示,所以将它们放入数据库是没有意义的 DB首先。只需在代码中写一次。

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