【发布时间】:2009-07-26 11:56:47
【问题描述】:
我正在开发一个使用 (postgresql-) 数据库来存储其数据的多用户应用程序。我想知道我应该将多少逻辑转移到数据库中?
例如当用户要保存他刚刚输入的一些数据时。应用程序是否应该只将数据发送到数据库并由数据库决定数据是否有效?或者应用程序应该是智能部分,检查数据是否正常?
在我从事的最后一个(商业)项目中,数据库非常垃圾。没有限制,没有意见等,一切都由应用程序决定。我认为这很糟糕,因为每次在代码中访问某个表时,都会有相同的代码一遍又一遍地检查访问是否有效。
通过将逻辑转移到数据库中(带有函数、触发器和约束),我认为我们可以在应用程序中节省大量代码(以及大量潜在错误)。但是我担心将大部分业务逻辑放入数据库中会成为一个回旋镖,并且有一天它会无法维护。
是否有一些现实生活中认可的指导方针可以遵循?
【问题讨论】:
标签: database