A computer-implemented method comprising: providing in a non-transitory computer readable storage medium, a database created in an application level language and comprising data organized in rows and columns; storing, in a repository, a model of a business rule created by a user, said model being a decision table which is a matrix structure containing condition columns and result columns, the repository including metadata and rule content, the metadata including various combinations of input value conditions in the condition columns and their corresponding result in the result columns; receiving from the user through a graphical user interface a query to the database, wherein the query is enriched with a function to process the business rule provided with a unique identifier of the rule; processing the query to generate a corresponding result from the database including accessing the rows and columns of the database in accordance with the query and applying the business rule to the data accessed from the rows and columns, said applying the business rule including: searching the repository for the input rule identified by the unique identifier; reading the metadata of the rule from the repository; identifying context information to be supplied to the rule on the basis of the query of the database, said context information consisting of input values from the accessed rows and columns of the database that will be provided to the rule; reading said context information supplied by a processor of the application level language in which the database was created when executing the query of the database,; evaluating the rule based on the provided input values by processing the decision table from top to bottom and from left to right, wherein wherever a single row of the decision table is matched, the corresponding result columns are returned as the result, the matching being based on the correspondence between the provided input values and the condition columns of the decision table; and sending back the result to the processor of the application level language in which the database was created; and displaying the result to the user in response to the query. providing in a non-transitory computer readable storage medium, a database created in an application level language and comprising data organized in rows and columns; storing, in a repository, a model of a business rule created by a user, said model being a decision table which is a matrix structure containing condition columns and result columns, the repository including metadata and rule content, the metadata including various combinations of input value conditions in the condition columns and their corresponding result in the result columns; receiving from the user through a graphical user interface a query to the database, wherein the query is enriched with a function to process the business rule provided with a unique identifier of the rule; processing the query to generate a corresponding result from the database including accessing the rows and columns of the database in accordance with the query and applying the business rule to the data accessed from the rows and columns, said applying the business rule including: searching the repository for the input rule identified by the unique identifier; reading the metadata of the rule from the repository; identifying context information to be supplied to the rule on the basis of the query of the database, said context information consisting of input values from the accessed rows and columns of the database that will be provided to the rule; reading said context information supplied by a processor of the application level language in which the database was created when executing the query of the database,; evaluating the rule based on the provided input values by processing the decision table from top to bottom and from left to right, wherein wherever a single row of the decision table is matched, the corresponding result columns are returned as the result, the matching being based on the correspondence between the provided input values and the condition columns of the decision table; and sending back the result to the processor of the application level language in which the database was created; and searching the repository for the input rule identified by the unique identifier; reading the metadata of the rule from the repository; identifying context information to be supplied to the rule on the basis of the query of the database, said context information consisting of input values from the accessed rows and columns of the database that will be provided to the rule; reading said context information supplied by a processor of the application level language in which the database was created when executing the query of the database,; evaluating the rule based on the provided input values by processing the decision table from top to bottom and from left to right, wherein wherever a single row of the decision table is matched, the corresponding result columns are returned as the result, the matching being based on the correspondence between the provided input values and the condition columns of the decision table; and sending back the result to the processor of the application level language in which the database was created; displaying the result to the user in response to the query.