我们想要编写一些业务逻辑规则,这些规则在特定数据之上工作,以构建报告.不确定哪一个最好存储在数据库MySQL中.

在此处输入图像描述

它可以有一个规则链,然后是如上所示的结果语句.

推荐答案

为了生成报表,您可以用任何编程语言转换业务逻辑.并使用数据库数据生成报告.

Against of business logic stored in database

我很看重表达的力量,但我没有发现 SQL空间要有那么丰富的表现力.使用你手头上最好的工具 完成最合适的任务.玩弄逻辑和更高 订单概念最好在最高级别完成.因此, 存储和海量数据操作最好在服务器级别进行, 可能在存储过程中.

但这要视情况而定.如果您有多个应用程序与一个应用程序交互 存储机制,并且您希望确保它保持其完整性 和工作流,则应将所有逻辑卸载到 数据库服务器.或者,做好管理并发开发的准备 多个应用程序.

来源:Arguments for/against Business Logic in stored procedures

另请参阅:

  1. Business Logic in the Database
  2. Business Logic In Stored Procedures
  3. Storing conditional logic expressions/rules in a database

Database相关问答推荐

触发器作为完整性的判断约束

使用 golan 查询 mongodb 中的集合并返回 id 作为字符串

是否可以同时从 RocksDB 读取?

如何决定使用数据库事务

PostgreSQL WHERE IN LIKE 查询

MongoDB 单文档大小限制为 16MB

Spring Framework 中的默认隔离级别

将 Redis 数据同步到 MySQL 的最佳策略是什么?

免费的便携式数据库有哪些?

Sitecore - 将项目从 Web 移动到 Master?

在 SQL 数据库之间共享数据

Redis:数据库大小与内存的比率?

一个 Linq to Sql - 多个 .DBML 文件或一个 .DBML 文件

如果表不存在,如何使用 Derby Db 创建表

CouchDB、MongoDB 和 Redis 中的哪个数据库适合从 Node.js 开始?

何时在关系数据库中使用枚举或小表?

关系未更新的 NSFetchedResultsController

使用 Django 的复合/复合主/唯一键

是否有任何支持协议缓冲区的数据库?

使用命令行在 Mysql 中导入压缩文件