Data modeling system for runtime schema extensibility
First Claim
Patent Images
1. A system for querying a database using a logical data model, the system comprising:
- a logical data model comprising data representing a plurality of entities, each of the plurality of entities having one or more properties, and mappings to a plurality of physical database tables, the mappings configured to map the plurality of entities to the plurality of physical database tables in a physical database; and
a query engine comprising computer hardware, the query engine configured to;
receive, from a custom reporting application, a request for entity data of the logical data model, the requested-for entity data being related to first properties of a selected entity of the plurality of entities,access the logical data model to identify two or more physical database tables of the plurality of physical database tables and associated columns in the two or more physical database tables to which the first properties of the selected entity are mapped,construct a query to access the two or more physical database tables in the physical database,pass the query to a database management system to cause the query to be executed on the physical database,receive results of the query from the database management system, andprovide the results of the query to the custom reporting application to thereby enable the custom reporting application to generate a report, including the results of the query, for presentation to a user,wherein the plurality of entities of the logical data model are dynamically bound such that updating the logical data model is performed without requiring recompilation of the logical data model or the physical database, thereby enabling the logical data model to be modified at runtime,wherein the logical data model stores semantic relationships between the plurality of entities that mask relational relationships between the plurality of physical database tables, andwherein the logical data model is configured to map an entity of the plurality of entities to multiple database tables of the plurality of physical database tables.
24 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for using a logical data model to at least partially address the deficiencies with existing ORM solutions are provided. In certain embodiments, the logical data model includes a layer that hides the underlying physical layout of tables in a database. The logical data model can act as a data management component that supports any subset of the following: 1) dynamic data modeling and schema management; 2) data set comparison and merge with historical tracking; and/or 3) data query.
-
Citations
18 Claims
-
1. A system for querying a database using a logical data model, the system comprising:
-
a logical data model comprising data representing a plurality of entities, each of the plurality of entities having one or more properties, and mappings to a plurality of physical database tables, the mappings configured to map the plurality of entities to the plurality of physical database tables in a physical database; and a query engine comprising computer hardware, the query engine configured to; receive, from a custom reporting application, a request for entity data of the logical data model, the requested-for entity data being related to first properties of a selected entity of the plurality of entities, access the logical data model to identify two or more physical database tables of the plurality of physical database tables and associated columns in the two or more physical database tables to which the first properties of the selected entity are mapped, construct a query to access the two or more physical database tables in the physical database, pass the query to a database management system to cause the query to be executed on the physical database, receive results of the query from the database management system, and provide the results of the query to the custom reporting application to thereby enable the custom reporting application to generate a report, including the results of the query, for presentation to a user, wherein the plurality of entities of the logical data model are dynamically bound such that updating the logical data model is performed without requiring recompilation of the logical data model or the physical database, thereby enabling the logical data model to be modified at runtime, wherein the logical data model stores semantic relationships between the plurality of entities that mask relational relationships between the plurality of physical database tables, and wherein the logical data model is configured to map an entity of the plurality of entities to multiple database tables of the plurality of physical database tables. - View Dependent Claims (2, 3, 4)
-
-
5. A system for querying a database using a logical data model, the system comprising:
-
a logical data model comprising data representing a plurality of entities, each of the plurality of entities having one or more properties, and mappings to a plurality of physical database tables, the mappings configured to map the plurality of entities to the plurality of physical database tables in a physical database; and a query engine comprising computer hardware, the query engine configured to; receive, from an application, a request for entity data of the logical data model, the requested-for entity data being related to first properties of a selected entity of the plurality of entities, access the logical data model to identify two or more physical database tables of the plurality of physical database tables and associated columns in the two or more physical database tables to which the first properties of the selected entity are mapped, construct a query to access the two or more physical database tables in the physical database, cause the query to be executed on the physical database, receive results of the query from the physical database, provide the results of the query to the application, wherein the plurality of entities of the logical data model are dynamically bound such that updating the logical data model is performed without requiring recompilation of the logical data model or the physical database, thereby enabling the logical data model to be modified at runtime, wherein the logical data model stores semantic relationships between the plurality of entities that mask relational relationships between the plurality of physical database tables, and wherein the logical data model is configured to map an entity of the plurality of entities to multiple database tables of the plurality of physical database tables. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. Non-transitory physical computer storage comprising instructions stored thereon that, when executed by one or more processors, implement components for querying a database using a logical data model, the components comprising:
-
a logical data model comprising data representing a plurality of entities, each of the plurality of entities having one or more properties, and mappings to a plurality of physical database tables, the mappings configured to map the plurality of entities to the plurality of physical database tables in a physical database; and a query engine configured to; receive, from an application, a request for entity data of the logical data model, the requested-for entity data being related to first properties of a selected entity of the plurality of entities, access the logical data model to identify two or more physical database tables of the plurality of physical database tables and associated columns in the two or more physical database tables to which the first properties of the selected entity are mapped, construct a query to access the two or more physical database tables in the physical database, pass the query to the physical database to thereby cause the query to be executed on the physical database, receive results of the query from the physical database, and provide the results of the query to application, wherein the plurality of entities of the logical data model are dynamically bound such that updating the logical data model is performed without requiring recompilation of the logical data model or the physical database, thereby enabling the logical data model to be modified at runtime, wherein the logical data model stores semantic relationships between the plurality of entities that mask relational relationships between the plurality of physical database tables, and wherein the logical data model is configured to map an entity of the plurality of entities to multiple database tables of the plurality of physical database tables. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method of querying a database using a logical data model, the method comprising:
-
by a computer system comprising computer hardware; receiving, from an application, a request for entity data of a logical data model, the logical data model comprising a plurality of entities, the requested-for entity data being related to properties of a selected entity of the plurality of entities; accessing the logical data model to identify two or more physical database tables in a physical database and associated columns in the two or more physical database tables to which the properties of the selected entity are mapped; constructing a query to access the two or more physical database tables in the physical database; passing the query to a database management system configured to execute the query on the physical database; receiving results of the query from the database management system; and providing the results of the query to the application; wherein the plurality of entities of the logical data model are dynamically bound such that updating the logical data model is performed without requiring recompilation of the logical data model or the physical database, thereby enabling the logical data model to be modified at runtime, wherein the logical data model stores semantic relationships between the plurality of entities that mask relational relationships between a plurality of physical database tables; and wherein the logical data model is configured to map an entity of the plurality of entities to multiple database tables of the two or more physical database tables.
-
Specification