Database Abstraction Component for Row-Based Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing relational database management systems (RDBMS) face challenges in performing row-based operations, as applications need to explicitly specify column names in SQL statements, contaminating the code with database syntax and reducing portability.

Innovation Solution

A row map is created to identify columns for row-based operations, which is used as an argument to generate database statements, abstracting the underlying database calls and allowing the database abstraction component to handle the SQL syntax, thereby isolating the application from database specifics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications explicitly specify column names in SQL statements to perform row-based operations, then the operations can be executed correctly on the database, but the application code becomes contaminated with database syntax and loses portability

Engineering Contradiction:
Improvecorrect execution of row-based operationsVSAvoidapplication portability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a database abstraction component as an intermediary layer between the application and the database. This component receives high-level row-based operation requests from the application, automatically generates the appropriate SQL statements with correct column specifications, and returns results to the application. The application never directly writes SQL syntax, thus maintaining portability while ensuring correct database operations through the abstraction layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the database interaction process into distinct layers: the application layer that defines row-based operations in a database-agnostic manner, and the database abstraction component that handles SQL generation and column mapping. This segmentation allows the application to remain portable while the abstraction component manages the database-specific syntax requirements.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If applications directly generate SQL statements with where clauses to specify columns, then row-based operations can be performed precisely, but the application code becomes tightly coupled to database syntax

Engineering Contradiction:
Improveprecision of row-based operationsVSAvoidapplication code complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The database abstraction component serves as a mediator that handles the complexity of SQL syntax and column specifications. The application simply specifies which rows to operate on using high-level criteria, and the abstraction component translates this into precise SQL where clauses with correct column names, maintaining precision while reducing application code complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If applications are abstracted from database-specific syntax, then portability is improved, but the ability to perform precise row-based operations on specific columns may be compromised

Engineering Contradiction:
Improveapplication portabilityVSAvoidprecision of column selection
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The database abstraction component maintains precision in column selection by implementing a mapping mechanism that translates high-level row-based operation specifications into precise SQL statements with correct column identifiers. The abstraction layer preserves the ability to operate on specific columns while keeping the application portable through automatic SQL generation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter representation from explicit SQL column names in application code to abstract row-based operation descriptors. The database abstraction component then transforms these abstract parameters into concrete SQL statements with appropriate column specifications, maintaining precision through parameter transformation rather than direct column name usage in application code.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7707138B2Identifying columns for row based operations
Publication Date: 2010.04.27 X CORP
  • US7707138B2 patent drawing
  • US7707138B2 patent drawing
  • US7707138B2 patent drawing

AI summary

Provided are techniques for, under control of a backup application, identifying one or more columns to be used by a row based operation. A row map is created that includes indicators which indicate the identified one or more columns. The row based operation is generated, wherein the row map is input as an argument to the row based operation, and the row based operation is forwarded to a database abstraction component. Under control of the database abstraction component, the row based operation is used to generate a database statement, wherein the row map is used to generate a portion of the database statement.