Rule Type Columns in Database DDL

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems lack the capability to define derived columns based on complex rule evaluation, limiting flexibility and reusability of rules, as these rules are often static and confined to the application layer, making them difficult to maintain and update.

Innovation Solution

Extending the data definition language (DDL) to introduce a new column type called the rule type column, which can be created using DDL statements to define its storage type and whether it is generic or non-generic, allowing rules to be modeled using patterns like decision tables or decision trees, and integrated with the language processor for dynamic evaluation during queries or insert/update operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If rules are placed in the application layer or stored procedures, then complex business logic can be encapsulated, but reusability of the database is reduced and maintenance becomes difficult

Engineering Contradiction:
Improvereusability of databaseVSAvoidcomplexity of rule management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a rule type column as an intermediary between the database and application layer rules. This column stores rule identifiers that reference business rules in a repository, allowing the database to participate in rule evaluation without containing the rules themselves. This mediator approach enables rule reusability across multiple tables and applications while keeping rule management centralized and simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual columns are used for simple calculations, then derived values can be obtained, but complex business rules cannot be modeled and rules are static

Engineering Contradiction:
Improvecapability to model complex business rulesVSAvoidcomplexity of rule definition
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent adds a new dimension to column types by introducing rule type columns that reference external rule repositories. Instead of embedding rule logic directly in the database schema like virtual columns, this approach references rules from an external dimension (the repository), enabling complex business rules to be modeled while keeping the database schema simple and the rules reusable.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If rules are stored remotely from the database, then rules can be maintained separately, but the accuracy and relevance of rules to the database deteriorates

Engineering Contradiction:
Improveease of rule maintenanceVSAvoidaccuracy of rules
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The rule type column establishes a feedback mechanism between the database and the rule repository. The column stores references to rules, and the database system can validate and enforce these rules during data operations. This feedback loop ensures that remotely stored rules remain accurate and relevant to the database while maintaining ease of separate maintenance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2590089B1Rule type columns in database
Publication Date: 2015.10.14 SAP SE
  • EP2590089B1 patent drawingFigure 1
  • EP2590089B1 patent drawingFigure 2
  • EP2590089B1 patent drawingFigure 3

AI summary

A data definition language (DDL) may be extended by a new column type: a rule type column. Database rules are modeled using patterns (e.g. decision table, decision tree, or formula) specifying rule content through accessible user interfaces instead of programming constructs. A rule type column can be created using the DDL statements to define its storage type (transient or permanent), and/or whether it is generic or non-generic. A transient rule column will be populated only when a query is performed. A non-transient rule column will be populated when an insert is performed, and may be re-triggered during an update. A generic rule column allows a rule to be defined each time an insert is performed (e.g. each row might trigger a different rule). A non-generic rule column allows initial definition of one rule statically for all rows. The system of rules evaluation can be integrated with the language processor.