Automated Database Schema Generation from Code Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for creating a database that maps to a relational database for data storage require substantial manual effort from developers, involving explicit setup and configuration of database mappings, which is burdensome and time-consuming.

Innovation Solution

Automated translation of programming language patterns into database schema patterns, allowing for inferential creation of database schema based on programming language constructs, reducing manual effort and enabling faster database creation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated translation of programming language patterns into database schema patterns is implemented, then productivity is improved, but device complexity worsens

Engineering Contradiction:
Improvedatabase creation speedVSAvoidtranslation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate representation layer that serves as a mediator between programming language patterns and database schema patterns. This intermediate layer standardizes the translation process, making the complex mapping rules manageable and reusable across different programming languages and database systems, thereby resolving the contradiction between automation productivity and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent employs parameterized templates and configurable mapping rules that allow the translation system to adapt to different programming languages and database schemas by changing parameters rather than restructuring the entire system. This enables high productivity through automation while keeping the core system relatively simple and maintainable.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If manual database setup and configuration is performed, then mapping precision is improved, but loss of time worsens

Engineering Contradiction:
Improvemapping accuracyVSAvoiddatabase creation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent pre-defines standard mapping patterns and conventions between common programming language constructs and database schema elements. By preparing these mapping rules in advance, the system can automatically apply them during database creation, achieving both high mapping accuracy and rapid database generation without requiring manual configuration for each new project.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses template copying mechanisms where proven mapping patterns are reused across different projects. Once a mapping between programming language patterns and database schemas is established and validated, it can be copied and adapted to similar projects, ensuring consistent mapping precision while dramatically reducing the time required for database creation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10884978B2Translating metadata associated with code patterns into database schema patterns
Publication Date: 2021.01.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10884978B2 patent drawing
  • US10884978B2 patent drawing
  • US10884978B2 patent drawing

AI summary

Techniques are described herein that are capable of translating programming language patterns into database schema patterns. Examples of a programming language pattern include but are not limited to a source code pattern, an intermediate language code pattern, metadata associated with a source code pattern, metadata associated with an intermediate language code pattern, or any combination thereof. The programming language patterns may define objects that are included in an object model. Database schema patterns that define a database are automatically (e.g., inferentially) created based on respective programming language patterns that define objects of an object model. The programming language patterns are automatically mapped to the respective database schema patterns.