database - 数据库与代码中的业务逻辑?

标签 database architecture methodology n-tier-architecture

<分区>

作为一名软件工程师,我强烈偏向于在应用层编写业务逻辑,而通常依赖数据库进行 CRUD(创建、检索、更新和删除)操作。另一方面,我遇到过大量业务逻辑在存储过程中编写的应用程序(通常是较旧的应用程序),因此有些人更喜欢在数据库层编写业务逻辑。

对于已经和/或喜欢在存储过程中编写/编写业务逻辑的人,您使用此方法的原因是什么?

最佳答案

我尝试严格限制我在数据库中的业务逻辑,使其仅包含必须进行大量查询和更新才能执行单个应用程序操作的过程。有些人可能会争辩说,即使这样也应该在应用程序中,但我希望尽可能减少 IO。

数据库非常适合 CRUD,但如果它们因逻辑而变得臃肿:

  1. 逻辑在哪里变得困惑,
  2. 通常,数据库是一个筒仓,水平扩展的程度不如应用服务器。
  3. t_sql/PLsql 在本质上难以阅读和过程化
  4. 您将失去 OOAD 的所有好处。

关于database - 数据库与代码中的业务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473624/

相关文章:

php - 如何检查文件是否正在使用,即正在对该文件中的数据执行某些命令?

java - spring mvc 与 jpa 中的 Multi-Tenancy 架构

使用远程 shell 访问进行 PHP 调试

objective-c - 编辑在 IOS 应用程序中管理的预填充 sqlite 数据库核心数据

php - 向所有用户公开 SQL SELECT 查询功能 : setting timeouts and limiting keywords. 这可以安全地完成吗?

javascript - 在扩展样式组件上使用 'as' 样式组件 Prop 时丢失组件 Prop

language-agnostic - 尼曼的 13 条最低限度足够诫命的来源在哪里?

php - 函数式编程练习

mongodb - 许多集合中的一个文档

oop - 是否有 SOLID 原则异常(exception)情况?