← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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)

US5276870A Cited
US5220625A Cited
US5678042A Cited
US5655116A Cited
US5515488A Cited

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag