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

原文 标签 database architecture methodology n-tier-architecture

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




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

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

最佳答案

我尝试将我在数据库中的业务逻辑严格限制为仅需要进行大量查询和更新才能执行单个应用程序操作的过程。有些人可能会争辩说,即使这应该在应用程序中,但如果可以的话,我喜欢保持 IO。

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

  • 逻辑在哪里变得困惑,
  • 通常数据库是一个孤岛,几乎不像应用服务器那样水平扩展。
  • t_sql/PLsql 本质上难以阅读和程序化
  • 您将失去 OOAD 的所有好处。
  • 关于database - 数据库与代码中的业务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473624/

    相关文章:

    php - 兰德订购不起作用

    architecture - n层体系结构-BLL,DAL和接口(interface)。什么是最佳做法?

    c# - 淘汰不使用的继承功能是否是一种好习惯?

    c++ - 辅助函数:cpp中为静态或定义为静态辅助类方法

    c++ - 如何在没有数据争用的情况下在一个套接字上实现具有并行请求和响应的无阻塞客户端-服务器通信模型

    mysql - 存档实时 MySQL 数据库的最佳方式

    javascript - 在整个For循环处理后发出的嵌套HTML5 Web SQL查询

    mysql - 在 NodeJS 上使用 ElasticSearch 提高应用程序性能

    agile - 在真正的敏捷项目中,业务分析师的角色是否变得多余?

    project-management - 当我是唯一的团队成员时,项目管理方法是否有意义?