US6480836B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for determining and generating candidate views for a database
Assignee: Workday Inc
•
Filing: 1999-03-25
•
Granted: 2002-11-12
•
Expires: 2019-03-25
Abstract
Abstract The invention features methods and apparatus for processing precomputed views for answering user queries on a database. In accordance with one aspect, a user query on the database is analyzed, and a candidate view based upon the user query is generated.
Inventors
- 👤 Latha S. Colby
- 👤 Richard L. Cole
- 👤 Edward P. Haslam
- 👤 Nasi Jazayeri
- 👤 Galt Johnson
- 👤 William J. McKenna
- 👤 David G. Wilhite, Jr.
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 07:04
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24539; G06F16/22; G06F16/2455; G06F16/24553; G06F16/24554; G06F16/24556; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934; Y10S707/99941; Y10S707/99943; Y10S707/99951; Y10S707/99952
Claims Analysis
Total Claims: 44
Claim 1
Independent Claim
112 words
A method for determining and generating a candidate view for, use in answering subsequent queries on a database, comprising: analyzing a query on the database that may or may not reference any views; and based upon the analyzed query, determining and generating the candidate view that can be used to create a precomputed view containing precomputed results of the generated candidate view, wherein the precomputed view can be used to answer a set of queries that are subsequently submitted to the database and wherein the set of queries that can be answered using the precomputed view includes the analyzed query and wherein the analyzed query and the candidate view can be different.
Claim 2
Independent Claim
112 words
A method for determining and generating a candidate view for, use in answering subsequent queries on a database, comprising: analyzing a query on the database that may or may not reference any views; and based upon the analyzed query, determining and generating the candidate view that can be used to create a precomputed view containing precomputed results of the generated candidate view, wherein the precomputed view can be used to answer a set of queries that are subsequently submitted to the database and wherein the set of queries that can be answered using the precomputed view includes the analyzed query and wherein the analyzed query and the candidate view can be different.
Claim 3
Dependent Claim
17 words
The method of claim 1 , further comprising generating a log record for the generated candidate view.
Claim 4
Dependent Claim
40 words
The method of claim 2 , wherein the precomputed view is a first precomputed view and wherein generating the log record for the generated candidate view comprises determining whether the analyzed query was rewritten to use a second precomputed view.
Claim 5
Dependent Claim
19 words
The method of claim 2 , wherein generating the log record comprises determining whether the rewritten query includes aggregation.
Claim 6
Dependent Claim
14 words
The method of claim 1 , wherein the candidate view is generated in SQL.
Claim 7
Dependent Claim
23 words
The method of claim 1 , wherein the candidate view is generated based upon functional dependencies between columns of tables in the database.
Claim 8
Dependent Claim
17 words
The method of claim 1 , wherein the candidate view is generated based upon primary key information.
Claim 9
Dependent Claim
25 words
The method of claim 1 , wherein the candidate view is generated based upon foreign key information relating two or more tables in the database.
Claim 10
Dependent Claim
16 words
The method of claim 1 , wherein the candidate view is generated based upon user-specified hierarchies.
Claim 11
Dependent Claim
20 words
The method of claim 1 , wherein the candidate view is generated based upon capabilities of the query processing system.
Claim 12
Dependent Claim
29 words
The method of claim 10 , wherein the precomputed view based on the generated candidate view would be usable by a query rewriting facility to rewrite the analyzed query.
Claim 13
Dependent Claim
36 words
The method of claim 1 , wherein the precomputed view is a first precomputed view and wherein the candidate view is generated for the analyzed query that has been rewritten to use a second precomputed view.
Claim 14
Dependent Claim
21 words
The method of claim 12 , wherein the candidate view is generated when additional aggregation is present in the rewritten query.
Claim 15
Dependent Claim
22 words
The method of claim 12 , wherein the candidate view is generated when additional aggregation is not present in the rewritten query.
Claim 16
Dependent Claim
20 words
The method of claim 1 , further comprising generating one or more additional candidate views based upon the analyzed query.
Claim 17
Dependent Claim
13 words
The method of claim 1 , further comprising characterizing the generated candidate view.
Claim 18
Dependent Claim
22 words
The method of claim 16 , wherein characterizing the generated candidate view comprises generating a report that reflects current aggregation strategy effectiveness.
Claim 19
Dependent Claim
24 words
The method of claim 16 , wherein characterizing the generated candidate view comprises generating a report that includes information about the generated candidate view.
Claim 20
Dependent Claim
28 words
The method of claim 16 , wherein characterizing the generated candidate view comprises generating a measure of the benefit of the generated candidate view relative to other views.
Claim 21
Dependent Claim
18 words
The method of claim 1 , further comprising: generating the precomputed view based on the generated candidate view.
Claim 22
Dependent Claim
23 words
The method of claim 20 , further comprising: answering at least one of the subsequent queries on the database using the precomputed view.
Claim 23
Independent Claim
114 words
An apparatus for determining and generating a candidate view for use in answering subsequent queries on a database, comprising: a query processor; and a precomputed view processor configured to analyze a query on the database, and based upon the analyzed query, to determine and generate the candidate view that can be used to create precomputed view containing precomputed results of the generated candidate view, wherein the precomputed view can be used to answer a set of queries that are subsequently submitted to the database and wherein the set of queries that can be answered using the precomputed view includes the analyzed query and wherein the analyzed query and the candidate view can be different.
Claim 24
Independent Claim
114 words
An apparatus for determining and generating a candidate view for use in answering subsequent queries on a database, comprising: a query processor; and a precomputed view processor configured to analyze a query on the database, and based upon the analyzed query, to determine and generate the candidate view that can be used to create precomputed view containing precomputed results of the generated candidate view, wherein the precomputed view can be used to answer a set of queries that are subsequently submitted to the database and wherein the set of queries that can be answered using the precomputed view includes the analyzed query and wherein the analyzed query and the candidate view can be different.
Claim 25
Dependent Claim
23 words
The apparatus of claim 22 , wherein the precomputed view processor is configured to generate a log record for the generated candidate view.
Claim 26
Dependent Claim
37 words
The apparatus of claim 23 , wherein the precomputed view is a first precomputed view and wherein the generation of the log record includes determining whether the analyzed query was rewritten to use a second precomputed view.
Claim 27
Dependent Claim
21 words
The apparatus of claim 23 , wherein the generation of the log record includes determining whether the rewritten query includes aggregation.
Claim 28
Dependent Claim
14 words
The apparatus of claim 22 , wherein the candidate view is generated in SQL.
Claim 29
Dependent Claim
23 words
The apparatus of claim 22 , wherein the candidate view is generated based upon functional dependencies between columns of tables in the database.
Claim 30
Dependent Claim
17 words
The apparatus of claim 22 , wherein the candidate view is generated based upon primary key information.
Claim 31
Dependent Claim
25 words
The apparatus of claim 22 , wherein the candidate view is generated based upon foreign key information relating two or more tables in the database.
Claim 32
Dependent Claim
16 words
The apparatus of claim 22 , wherein the candidate view is generated based upon user-specified hierarchies.
Claim 33
Dependent Claim
20 words
The apparatus of claim 22 , wherein the candidate view is generated based upon capabilities of the query processing system.
Claim 34
Dependent Claim
29 words
The apparatus of claim 31 , wherein the precomputed view based on the generated candidate view would be usable by a query rewriting facility to rewrite the analyzed query.
Claim 35
Dependent Claim
36 words
The apparatus of claim 22 , wherein the precomputed view is a first precomputed view and wherein the candidate view is generated for the analyzed query that has been rewritten to use a second precomputed view.
Claim 36
Dependent Claim
21 words
The apparatus of claim 33 , wherein the candidate view is generated when additional aggregation is present in the rewritten query.
Claim 37
Dependent Claim
22 words
The apparatus of claim 33 , wherein the candidate view is generated when additional aggregation is not present in the rewritten query.
Claim 38
Dependent Claim
26 words
The apparatus of claim 22 , wherein the precomputed view processor is configured to generate one or more additional candidate views based upon the analyzed query.
Claim 39
Dependent Claim
19 words
The apparatus of claim 22 , wherein the precomputed view processor is configured to characterize the generated candidate view.
Claim 40
Dependent Claim
20 words
The apparatus of claim 37 , wherein candidate view characterization includes generating a report that reflects current aggregation strategy effectiveness.
Claim 41
Dependent Claim
22 words
The apparatus of claim 37 , wherein candidate view characterization includes generating a report that includes information about the generated candidate view.
Claim 42
Dependent Claim
26 words
The apparatus of claim 37 , wherein candidate view characterization includes generating a measure of the benefit of the generated candidate view relative to other views.
Claim 43
Dependent Claim
25 words
The apparatus of claim 22 , wherein the precomputed view processor is further configured to: generate the precomputed view based on the generated candidate view.
Claim 44
Dependent Claim
30 words
The apparatus of claim 41 , wherein the precomputed view processor is further configured to: answer at least one of the subsequent queries on the database using the precomputed view.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-11-11 | 2006-05-13 | 2006-11-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-11-11 | 2010-05-13 | 2010-11-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-11-11 | 2014-05-13 | 2014-11-12 | $7700.00 | Window Closed / Lapsed |