Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
135 words
A database storing data and providing selected data in response to queries, the database comprising: a) at least two tables of stored data having physical structures that link data of particular attributes together according to relations; b) a sub-query in the same form as the user query, a different sub-query associated with each table and describing all of the attributes and relations of the table in query form; and c) a program operating on an electronic computer communicating with the memory to: (i) accept a user query for the database from a user; and (ii) compare the user query to the sub-queries of the tables to generate a list of only the tables where the sub-query includes a portion of the user query; (iii) using the list of tables to respond to the user query.
Claim 2
Dependent Claim
135 words
A database storing data and providing selected data in response to queries, the database comprising: a) at least two tables of stored data having physical structures that link data of particular attributes together according to relations; b) a sub-query in the same form as the user query, a different sub-query associated with each table and describing all of the attributes and relations of the table in query form; and c) a program operating on an electronic computer communicating with the memory to: (i) accept a user query for the database from a user; and (ii) compare the user query to the sub-queries of the tables to generate a list of only the tables where the sub-query includes a portion of the user query; (iii) using the list of tables to respond to the user query.
Claim 3
Dependent Claim
52 words
The database of claim 1 wherein the program operating on the electronic computer further: (iii) generates a new query equivalent to the user query but directed to at least one table on the list; and (iv) executes the new query in place of the user query to respond to the user query.
Claim 4
Dependent Claim
119 words
The database of claim 2 wherein the program operating on the electronic computer performs step (iii) by: (1) collecting the tables of the list into a plurality of subsets; (2) pairwise evaluating each sub-query of the tables of a subset to see if their add-join is equivalent to their natural join, indicating that the selections of the sub-queries may be conducted after the joining of two sub-queries, and if so replacing the sub-query of that pair with the natural join of their sub-queries; (3) repeating step (2) until no more combinations can be made; and (4) if there is only a single combined sub-query left after step (3) using a projection of the combined sub-query as the new query.
Claim 5
Dependent Claim
113 words
The database of claim 1 wherein the user query indicates desired relations Q r , desired attributes Q p and desired ranges of attributes Q s of the data to be obtained from the database and step (ii) comprises: (1) determining that the sub-query has at least one relation in common with the desired relations and at least one attribute of the relation in common with the desired attributes; (2) determining that the sub-query has the same or greater ranges of the desired attributes; and (3) determining that the sub-query covers the desired relations, where coverage indicates that the attributes of the sub-query ensure that the desired relations will be in the table.
Claim 6
Dependent Claim
68 words
The database of claim 1 wherein the program operating on the electronic computer further: (iii) assigns a search cost to each sub-query of the tables on the list, the search cost reflecting the difficultly of obtaining the data of the sub-query; and (iv) removes from the list tables whose sub-query both includes a smaller portion of the user query and has a greater search cost than another sub-query.
Claim 7
Dependent Claim
80 words
The database of claim 5 wherein the program operating on the electronic computer further: (v) distinguishes between sub-queries that are complete solutions that are equivalent to the user query and sub-queries that are partial solutions that have only a portion of the user query; and (vi) if there are no partial solutions after step (iv) providing a complete solution as a new query; (vii) executes the new query in place of the user query to respond to the user query.
Claim 8
Dependent Claim
57 words
The database of claim 5 wherein the program operating on the electronic computer further: (v) joins sub-queries of tables still on the list to produce joined sub-queries; and (vi) removes from the list tables of joined sub-queries that both include a smaller portion of the user query and have a greater search cost than another joined sub-query.
Claim 9
Dependent Claim
81 words
The database of claim 5 wherein the program operating on the electronic computer further: (v) distinguishes between joined sub-queries that complete solutions that are equivalent to the user query and joined sub-queries that are partial solutions that have only a portion of the user query; and (vi) if there are no partial solutions after step (iv) providing a complete solution as a new query; (vii) executes the new query in place of the user query to respond to the user query.