Loose Triggers for Deferred Entity Coupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database triggers, known as 'tight triggers,' are inefficient because they require specific entities to be defined and applied at the time of database creation and compilation, limiting flexibility and usability when the entity is not defined at that time.

Innovation Solution

The introduction of 'loose triggers' that can be coupled to one or more entities selected by a user after the trigger code has been compiled, allowing for deferred definition of trigger entities and optional coupling to a predetermined set of entities, with validation processes to ensure validity and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tight triggers are used with specific entities defined at compilation time, then the trigger code can be optimized and compiled efficiently, but the system loses flexibility and cannot adapt to entities defined later

Engineering Contradiction:
Improvetrigger execution efficiencyVSAvoidentity coupling flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the trigger system into two independent parts: the trigger code (procedural logic) and the entity coupling (association relationship). This allows the trigger code to be compiled independently without requiring specific entity definitions, while entity coupling is established separately at runtime through metadata, resolving the contradiction between compilation efficiency and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic entity coupling where triggers can be associated with entities after compilation through runtime metadata. The system dynamically determines which entities are coupled to which triggers during execution, allowing the trigger system to adapt to different entities without recompilation, thus achieving both efficiency and flexibility.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If triggers are coupled to specific entities at database creation time, then the system structure is simple and straightforward, but it requires recompilation when entities are added or modified later

Engineering Contradiction:
Improvesystem structure simplicityVSAvoidtrigger deployment ease
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The patent performs preliminary compilation of trigger code without entity-specific bindings. The trigger procedural logic is compiled in advance as a standalone component, and entity couplings are established later through metadata registration. This preliminary action separates compilation from entity association, simplifying the overall system structure while easing deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces metadata as an intermediary layer between trigger code and entities. Instead of direct coupling, metadata serves as a mediator that associates triggers with entities at runtime. This intermediary structure maintains simplicity while enabling easy deployment and modification without recompilation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If loose triggers are implemented with deferred entity coupling, then flexibility and adaptability improve, but validation complexity and error handling requirements increase

Engineering Contradiction:
Improveentity coupling flexibilityVSAvoidvalidation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service validation where the system automatically validates entity-trigger couplings through metadata registration processes. The validation logic is embedded in the coupling mechanism itself, automatically checking compatibility without requiring complex external validation procedures, thus managing complexity while maintaining flexibility.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms in the form of validation results and error messages that guide the coupling process. When entities are coupled to triggers through metadata, the system provides immediate feedback on validity, allowing for automatic correction or user guidance, which manages complexity through structured feedback rather than complex preventive validation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9690808B2Methods and systems for loose coupling between triggers and entities
Publication Date: 2017.06.27 SALESFORCE INC
  • US9690808B2 patent drawing
  • US9690808B2 patent drawing
  • US9690808B2 patent drawing

AI summary

A database program includes loose triggers that are not coupled to specific entities at the time the database program is compiled. The database program provides a user interface that allows a user to couple selected entities to the loose triggers or decouple selected entities from loose triggers. The database program validates the entities that are selected by the user for coupling or decoupling and stores the coupled entities as part of the loose trigger definitions in a loose trigger metadata database.