Database Foreign Key Association via Semantic Expression Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems rely on simple equality or contains expressions for foreign key associations, limiting the complexity and customization of relationships between child and parent tables, which restricts the flexibility and accuracy of data linking.

Innovation Solution

Implementing semantic expressions that can evaluate foreign keys against multiple fields of the parent table, allowing for compound, ranged, or set expressions, and enabling custom per-row criteria for association, potentially using a dedicated column for expressions and a trie structure for efficient evaluation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If simple equality or contains expressions are used for foreign key associations, then the system is simple and easy to implement, but the complexity and customization of relationships between child and parent tables are limited

Engineering Contradiction:
Improvecustomization of relationshipsVSAvoidexpression evaluation system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by transforming the static foreign key constraint into a dynamic expression evaluation system. Instead of fixed equality checks, the system evaluates configurable expressions that can adapt to different relationship types (equality, containment, range, set membership), allowing the association criteria to be dynamically adjusted without changing the underlying database structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements parameter changes by introducing configurable expression parameters that define how foreign keys are evaluated against parent table rows. The expression can vary parameters such as comparison operators, field selections, and logical conditions, enabling flexible relationship definitions while maintaining a consistent evaluation framework.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If conventional foreign key equality checks are used, then the data linking is fast and efficient, but the accuracy and flexibility of data linking are restricted

Engineering Contradiction:
Improvedata linking accuracyVSAvoidassociation creation efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-compiling and storing expressions in the parent table rows before they are needed for association creation. This pre-preparation allows the evaluation process to quickly retrieve and execute predefined expressions rather than parsing and compiling them during the association creation phase, thus maintaining efficiency while enabling complex evaluation logic.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If complex expressions are evaluated for each child table row, then the association accuracy improves, but the processing time and computational resources increase

Engineering Contradiction:
Improveassociation correctnessVSAvoidevaluation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the expression evaluation process into distinct phases: expression compilation and storage in the parent table, then retrieval and execution during association creation. This segmentation allows complex expressions to be prepared once and reused multiple times, reducing the computational overhead during actual association operations while maintaining evaluation accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10635673B2Rule-based joining of foreign to primary key
Publication Date: 2020.04.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10635673B2 patent drawing
  • US10635673B2 patent drawing
  • US10635673B2 patent drawing

AI summary

Linking of a child table to a parent table in a database system. For a given parent table row, an expression associated with the particular row is identified. The expression may be a semantic expression that comprises something different than or more than an equals expression or a contains expression. The expression might also take as input a field of the parent table other than the primary key of the parent table. For each of multiple (and potentially all) rows of a child table, the expression is evaluated against a foreign key of the corresponding row of the child table. If the foreign key matches the expression, an association is created, and perhaps saved, between the foreign key and the particular row of the parent table. The expressions may differ even down to the granularity of a single row in the parent table, thereby enabling perhaps custom per-row expressions.