Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storing Business Logic in Database

We want to write some business logic rules that work on top of certain data to build reports. Not sure which is the best to store them in the database MySQL.

enter image description here

It can have a chain of the rules and then a statement for the result as shown above.

like image 794
Harsha M V Avatar asked Jul 10 '12 05:07

Harsha M V


People also ask

Should you put business logic in the database?

Two good reasons for putting the business logic in the database are: It secures your logic and data against additional applications that may access the database that don't implement similar logic.

Is SQL a good place for business logic?

SQL is the language optimized for operating sets of data. It isn't flexible enough and we can't rely on it to express any more or less complex domain model because it lacks the ability to create proper abstractions. And that is the single most important reason why we shouldn't use it as a place for business logic.

What is database business logic?

Business logic is the custom rules or algorithms that handle the exchange of information between a database and user interface. Business logic is essentially the part of a computer program that contains the information (in the form of business rules) that defines or constrains how a business operates.


1 Answers

For building reports you can convert business logic in any programming language. And use database data for generating reports.

Against of business logic stored in database

I place a high value on the power of expression, and I don't find the SQL space to be all that expressive. Use the best tools you have on hand for the most appropriate tasks. Fiddling with logic and higher order concepts is best done at the highest level. Consequently, storage and mass data manipulation is best done at the server level, probably in stored procedures.

But it depends. If you have multiple applications interacting with one storage mechanism and you want to make sure it maintains its integrity and workflow, then you should offload all of the logic into the database server. Or, be prepared to manage concurrent development in multiple applications.

Source: Arguments for/against Business Logic in stored procedures

See also:

  1. Business Logic in the Database
  2. Business Logic In Stored Procedures
  3. Storing conditional logic expressions/rules in a database
like image 176
Somnath Muluk Avatar answered Sep 19 '22 21:09

Somnath Muluk