Data model transformation

US11334594B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11334594-B2
Application numberUS-202017002596-A
CountryUS
Kind codeB2
Filing dateAug 25, 2020
Priority dateOct 19, 2019
Publication dateMay 17, 2022
Grant dateMay 17, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Described herein are systems and methods of transforming data models, for example, creating a data warehouse. A directives model may be loaded based upon a parsed directives file. An entity model may be loaded, and tables, attributes, and foreign keys of a data warehouse model may be created based upon the directives model and the entity model. Mappings may be created between tables, columns, and foreign keys of the data warehouse model and entities, attributes, and relationships, respectively, of the entity model. Code to define a data warehouse may be generated based upon the tables, attributes, and foreign keys of the data warehouse model. Code to transfer data from the source data source can be generated based upon the created mappings. A lineage report can be generated that provides information identifying a corresponding source for each table and column in the data warehouse.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system, comprising: a processor; and a storage for storing instructions which, when executed by the processor, causes the system to: provide a graphical user interface (“GUI”) to a user that enables the user to graphically model mappings from a source data model to a target data model, the GUI presenting a graphical representation of the mappings to the user; receive, via the GUI, an input from the user that graphically represents the mappings; generate directives code for defining directives based on the mappings; generate schema code for creating the target data model based on the directives; and generate pipeline code for transferring data from the source data model to the target data model based on the directives using predefined patterns. 2. The system of claim 1 , wherein the source data model is a structured query language (“SQL”) database. 3. The system of claim 1 , wherein the target data model is a data warehouse. 4. The system of claim 1 , wherein the instructions further cause the system to: present entities in the source data model to the user for selection via the GUI. 5. The system of claim 1 , wherein the mappings include at least one of: a correspondence between an entity in the source data model and a table in the target data model; a correspondence between an attribute in the source data model and a column in the target data model; or a correspondence between a relationship in the source data model and a foreign key in the target data model. 6. The system of claim 1 , wherein the mappings include at least one of data denormalization or data aggregation. 7. A computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to: receive directives information from a user via a graphical user interface (“GUI”), the directives information being provided graphically by the user using the GUI, the directives information specifying how to map one or more source data models to a target data model using predefined pattern templates; generate schema code for creating the target data model based on the directives information; and generate pipeline code for copying data from the one or more source data models to the target data model based on the directives information. 8. The computer-readable storage medium of claim 7 , wherein the instructions further cause the processor to: generate directives code based on the directives information. 9. The computer-readable storage medium of claim 7 , wherein the directives information includes directives code. 10. The computer-readable storage medium of claim 9 , wherein the directives code includes JavaScript Object Notation (“JSON”) language. 11. The computer-readable storage medium of claim 7 , wherein the schema code includes SQL language. 12. The computer-readable storage medium of claim 7 , wherein the pipeline code includes extract-transform-load (“ETL”) code. 13. The computer-readable storage medium of claim 7 , wherein the target data model includes surrogate keys for at least one of a data dimension or a time dimension. 14. A computer-implemented method, comprising: receiving, via a graphical user interface (“GUI”), an input from a user, the input including mappings from a source data model to a target data model, the mappings being graphically defined by the user using the GUI; generating first code for creating the target data model based on the mappings; and generating second code for transferring data from the source data model to the target data model based on the mappings. 15. The computer-implemented method of claim 14 , further comprising: executing the first code to create the target data model. 16. The computer-implemented method of claim 15 , further comprising: executing the second code to transfer data from the source data model to the target data model. 17. The computer-implemented method of claim 14 , wherein receiving the input comprises: receiving a first selection from the user of an entity or an attribute in the source data model; and receiving a second selection of a dimension table, a fact table, or a column in the target data model. 18. The computer-implemented method of claim 14 , further comprising: graphically displaying the mappings to the user via the GUI. 19. The computer-implemented method of claim 14 , further comprising: generating directives code based on the mappings. 20. The computer-implemented method of claim 14 , further comprising: generating a lineage report that traces tables and/or columns in the target data model to corresponding entities and/or attributes, respectively, in the source data model.

Assignees

Inventors

Classifications

  • G06F16/258Primary

    Data format conversion from or to a database · CPC title

  • between a Database Management System and a front-end application · CPC title

  • Interaction with lists of selectable items, e.g. menus · CPC title

  • Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses · CPC title

  • G06F16/84Primary

    Mapping; Conversion · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11334594B2 cover?
Described herein are systems and methods of transforming data models, for example, creating a data warehouse. A directives model may be loaded based upon a parsed directives file. An entity model may be loaded, and tables, attributes, and foreign keys of a data warehouse model may be created based upon the directives model and the entity model. Mappings may be created between tables, columns, a…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/258. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).