Advanced data models containing declarative and programmatic constraints
US-9176801-B2 · Nov 3, 2015 · US
US9442977B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9442977-B2 |
| Application number | US-201314020509-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 6, 2013 |
| Priority date | Sep 6, 2013 |
| Publication date | Sep 13, 2016 |
| Grant date | Sep 13, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments extend the relational model and language of standard SQL, to recognize features of higher level entity-relationship models (ERMs). SQL extensions implemented in the data design language (DDL) incorporate Entities (and Views) having custom-defined/semantic structure, rather than being limited to primitive types (e.g. flat tables as in standard SQL). Entities are defined similar to structured types with an underlying persistency, but with a uniquely identifying leading key. In DDL, these entities are combined with associations in the data model. The associations of the extended SQL reflect relationships between entities in the ERM. Associations are specified by adding an element to a source entity, with an association type pointing to a target entity. This may be complemented by providing optional information (e.g., cardinality, keys, filter conditions), up to a complete JOIN condition. In the query language (QL), JOINs may be replaced by the use of simple path expressions.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: providing a database organized according to a relational model; providing a database engine in communication with the database through a language describing the relational model; providing an application comprising an entity-relationship model (ERM), the ERM including a first entity, a second entity, and a relationship between the first entity and the second entity; and causing a query engine of the application to communicate a query to the database engine utilizing a language extension comprising, a first structured entity type including a first key and indicating the first entity, a second structured entity type including a second key and indicating the second entity, and a structured association type reflecting the relationship and including a first parameter clause specifying cardinality information, and including a second parameter clause specifying a combination of alternative key elements in a nested structure comprising an alias name of one alternative key element in a substructure of the second structured entity; and causing the database engine to return a query result to the query engine based upon the language extension. 2. The computer-implemented method of claim 1 wherein the language comprises SQL. 3. The computer-implemented method of claim 1 wherein the query engine communicates to the database engine, the structured association type including further information in a third parameter clause. 4. The computer-implemented method of claim 3 wherein the further information is selected from an additional filter condition. 5. The computer-implemented method of claim 4 wherein the structured association type in combination with the further information, amount to a join condition. 6. The computer-implemented method of claim 1 wherein the database comprises an in-memory database permanently stored in non-volatile Random Access Memory. 7. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising: providing a database organized according to a relational model; providing a database engine in communication with the database through a language describing the relational model; providing an application comprising an entity-relationship model (ERM), the ERM including a first entity, a second entity, and a relationship between the first entity and the second entity; and causing a query engine of the application to communicate a query to the database engine utilizing a language extension comprising, a first structured entity type including a first key and indicating the first entity, a second structured entity type including a second key and indicating the second entity, and a structured association type reflecting the relationship and including a parameter clause specifying cardinality information in a first parameter clause, and including a second parameter clause specifying a combination of alternative key elements in a nested structure comprising an alias name of one alternative key element in a substructure of the second structured entity; and causing the database engine to return a query result to the query engine based upon the language extension. 8. A non-transitory computer readable storage medium as in claim 7 wherein the language comprises SQL. 9. A non-transitory computer readable storage medium as in claim 7 wherein the query engine communicates to the database engine, the structured association type including further information in a third parameter clause. 10. A non-transitory computer readable storage medium as in claim 9 wherein the further information is selected from an additional filter condition. 11. A non-transitory computer readable storage medium as in claim 10 wherein the structured association type in combination with the further information, amount to a join condition. 12. A non-transitory computer readable storage medium as in claim 7 wherein the database comprises an in-memory database permanently stored in non-volatile Random Access Memory. 13. A computer system comprising: one or more processors; a software program, executable on said computer system, the software program configured to: provide a database organized according to a relational model; provide a database engine in communication with the database through a language describing the relational model; provide an application comprising an entity-relationship model (ERM), the ERM including a first entity, a second entity, and a relationship between the first entity and the second entity; and cause a query engine of the application to communicate a query to the database engine utilizing a language extension comprising, a first structured entity type including a first key and indicating the first entity, a second structured entity type including a second key and indicating the second entity, and a structured association type reflecting the relationship and including a parameter clause specifying cardinality information in a first parameter clause, and including a second parameter clause specifying a combination of alternative key elements in a nested structure comprising an alias name of one alternative key element in a substructure of the second structured entity; and causing the database engine to return a query result to the query engine based upon the language extension. 14. A computer system as in claim 13 wherein the language comprises SQL. 15. A computer system as in claim 13 wherein the query engine communicates to the database engine, the structured association type including further information in a third parameter clause. 16. A computer system as in claim 15 wherein the further information is selected from an additional filter condition. 17. A computer system as in claim 16 wherein the structured association type in combination with the further information, amount to a join condition. 18. A computer system as in claim 13 wherein the database comprises an in-memory database permanently stored in non-volatile Random Access Memory.
Query processing · CPC title
Entity relationship models · CPC title
Join operations · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.