Database Abstraction Component for Row-Based Operations
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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.
Data Source
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.


