Patent US6148296A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6148296A Expired / Lapsed US ⏱️ 0.0 years remaining

Automatic generation of database queries

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-02-04
•
Granted: 2000-11-14
•
Expires: 2018-02-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer program for automatically generating queries to a database management system (DBMS) is disclosed. The computer program receives a high level specification of the data sought to be retrieved from an application program. The high level specification includes the columns from which data is sought, and any constraints on the data to be retrieved from those columns such as filter constraints. The computer program also receives a context for the columns to be queried, so that it can be determined which tables of the DBMS the columns are associated with. The computer program further receives a specification of the schema of the DBMS, with the schema specifying the relationship between the various data storage entities of the DBMS. Using the high level specification and the schema, the computer program automatically generates queries to the DBMS seeking to reduce the complexity of the queries to speed execution, and to reduce the number of round trips between the computer program and the DBMS, also to enhance speed. For this purpose, queries may be separated into primary and secondary queries, and batched together, with secondary queries using data retrieved in a primary query in order to retrieve further data.

Inventors

  • 👤 Bassam Tabbara

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 16:59
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2452; G06F16/242; G06F16/2423; G06F16/2433; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934; Y10S707/99941; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 244 words
A computerized method for automatically generating queries for and retrieving data from a database management system (DBMS) wherein the data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language, the method comprising: a) receiving a specification of a schema of a DBMS from which data is to be retrieved; b) receiving a specification of a structure for holding data retrieved from the DBMS; c) receiving a specification of the data sought to be retrieved from the DBMS; d) using the specification of the schema and the specification of data sought to be retrieved automatically generating query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data; e) automatically sending at least the first and second queries to the DBMS at different successive times and retrieving the associated data; and f) organizing at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS.
Claim 2
Dependent Claim 244 words
A computerized method for automatically generating queries for and retrieving data from a database management system (DBMS) wherein the data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language, the method comprising: a) receiving a specification of a schema of a DBMS from which data is to be retrieved; b) receiving a specification of a structure for holding data retrieved from the DBMS; c) receiving a specification of the data sought to be retrieved from the DBMS; d) using the specification of the schema and the specification of data sought to be retrieved automatically generating query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data; e) automatically sending at least the first and second queries to the DBMS at different successive times and retrieving the associated data; and f) organizing at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS.
Claim 3
Dependent Claim 60 words
A method according to claim 1 further wherein the specification of the data sought to be retrieved includes: column information specifying a column in the database from which data is to be retrieved; filter information specifying a subset of the data in a column; and context information specifying the relationship of the column to other data entities in the DBMS.
Claim 4
Dependent Claim 25 words
A method according to claim 1 further wherein at least some of the queries are organized in batches and sent to the DBMS in batches.
Claim 5
Dependent Claim 34 words
A method according to claim 1 further wherein the queries are generated substantially so as to reduce the complexity of individual queries to improve the speed of execution of the query by the DBMS.
Claim 6
Dependent Claim 30 words
A method according to claim 4 further wherein the queries are generated so that they reduce the number of round trips between the entity issuing the queries and the DBMS.
Claim 7
Dependent Claim 25 words
A method according to claim 1 further wherein the primary and secondary queries are organized according to the context of the data to be retrieved.
Claim 8
Independent Claim 290 words
A system for automatically generating queries for and retrieving data from a database, comprising: a database management system (DBMS) operating on a computer wherein data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language; an application program executing on a computer; query generating program executing on a computer to perform the tasks of: a) receiving from the application program a specification of a schema of a DBMS from which data is to be retrieved, b) receiving from the application program a specification of a structure for holding data retrieved from the DBMS, c) receiving from the application program a specification of the data sought to be retrieved from the DBMS, d) using the specification of the schema and the specification of data sought to be retrieved automatically generating query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data, e) automatically sending at least the first and second queries to the DBMS at different successive times and retrieving the associated data; f) organizing at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS; and g) sending the data held in the specified structure to the application program.
Claim 9
Independent Claim 290 words
A system for automatically generating queries for and retrieving data from a database, comprising: a database management system (DBMS) operating on a computer wherein data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language; an application program executing on a computer; query generating program executing on a computer to perform the tasks of: a) receiving from the application program a specification of a schema of a DBMS from which data is to be retrieved, b) receiving from the application program a specification of a structure for holding data retrieved from the DBMS, c) receiving from the application program a specification of the data sought to be retrieved from the DBMS, d) using the specification of the schema and the specification of data sought to be retrieved automatically generating query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data, e) automatically sending at least the first and second queries to the DBMS at different successive times and retrieving the associated data; f) organizing at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS; and g) sending the data held in the specified structure to the application program.
Claim 10
Dependent Claim 60 words
A system according to claim 7 further wherein the specification of the data sought to be retrieved includes: column information specifying a column in the database from which data is to be retrieved; filter information specifying a subset of the data in a column; and context information specifying the relationship of the column to other data entities in the DBMS.
Claim 11
Dependent Claim 25 words
A system according to claim 7 further wherein at least some of the queries are organized in batches and sent to the DBMS in batches.
Claim 12
Dependent Claim 34 words
A system according to claim 7 further wherein the queries are generated substantially so as to reduce the complexity of individual queries to improve the speed of execution of the query by the DBMS.
Claim 13
Dependent Claim 30 words
A system according to claim 10 further wherein the queries are generated so that they reduce the number of round trips between the entity issuing the queries and the DBMS.
Claim 14
Dependent Claim 25 words
A system according to claim 7 further wherein the primary and secondary queries are organized according to the context of the data to be retrieved.
Claim 15
Dependent Claim 268 words
An article of manufacture comprising computer program code recorded on a computer-readable media, the computer program code executable on a computer for automatically generating queries for and retrieving data from a database management system (DBMS) wherein the data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language, the computer program code operating a computer to: g) receive a specification of a schema of a DBMS from which data is to be retrieved; h) receive a specification of a structure for holding data retrieved from the DBMS; i) receive a specification of the data sought to be retrieved from the DBMS; j) use the specification of the schema and the specification of data sought to be retrieved to automatically generate query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data; k) automatically send at least the first and second queries to the DBMS at different successive times and retrieving the associated data; and l) organize at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS.
Claim 16
Dependent Claim 268 words
An article of manufacture comprising computer program code recorded on a computer-readable media, the computer program code executable on a computer for automatically generating queries for and retrieving data from a database management system (DBMS) wherein the data held in the DBMS is organized and maintained in related data structures and wherein the relationship and organization of the data structures is specified by a schema, and wherein the DBMS receives and executes queries written in a code of a query language, the computer program code operating a computer to: g) receive a specification of a schema of a DBMS from which data is to be retrieved; h) receive a specification of a structure for holding data retrieved from the DBMS; i) receive a specification of the data sought to be retrieved from the DBMS; j) use the specification of the schema and the specification of data sought to be retrieved to automatically generate query language code to carry out two or more queries of the DBMS which will retrieve the sought after data, a first one of the queries being a primary query for retrieving a first set of data, and a second one of the queries being a secondary query for retrieving a second set of data, the secondary query using data retrieved in the primary query to obtain the second set of data; k) automatically send at least the first and second queries to the DBMS at different successive times and retrieving the associated data; and l) organize at least some of the retrieved data into the specified structure for holding data retrieved from the DBMS.
Claim 17
Dependent Claim 62 words
An article of manufacture according to claim 13 further wherein the specification of the data sought to be retrieved includes: column information specifying a column in the database from which data is to be retrieved; filter information specifying a subset of the data in a column; and context information specifying the relationship of the column to other data entities in the DBMS.
Claim 18
Dependent Claim 27 words
An article of manufacture according to claim 13 further wherein at least some of the queries are organized in batches and sent to the DBMS in batches.
Claim 19
Dependent Claim 36 words
An article of manufacture according to claim 13 further wherein the queries are generated substantially so as to reduce the complexity of individual queries to improve the speed of execution of the query by the DBMS.
Claim 20
Dependent Claim 32 words
An article of manufacture according to claim 16 further wherein the queries are generated so that they reduce the number of round trips between the entity issuing the queries and the DBMS.
Claim 21
Dependent Claim 27 words
An article of manufacture according to claim 13 further wherein the primary and secondary queries are organized according to the context of the data to be retrieved.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-14 2004-05-15 2004-11-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-14 2008-05-15 2008-11-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-14 2012-05-15 2012-11-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag