US6199063B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for rewriting relational database queries
Assignee: Red Brick Systems Inc
•
Filing: 1998-03-27
•
Granted: 2001-03-06
•
Expires: 2018-03-27
Abstract
Abstract A system and method for answering a relational database query is presented. According to an embodiment of the present invention, a database query is received. It is then determined whether that query can be rewritten in such a manner as to be able to utilize a precomputed view, such that an answer to the rewritten query is equivalent to an answer to the original query. If the query can be rewritten, it is determined whether the rewritten query can more efficiently derive the answer than the original query. The query which has the most efficiently derived answer is the query which is utilized to derive that answer.
Inventors
- 👤 Latha S. Colby
- 👤 Richard L. Cole
- 👤 Edward P. Haslam
- 👤 Nasi Jazayeri
- 👤 Galt Johnson
- 👤 William J. McKenna
- 👤 Lee E. Schumacher
- 👤 David G. Wilhite, Jr.
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-30 21:19
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24539; G06F16/28; G06F16/283; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/954; Y10S707/956; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934; Y10S707/99941; Y10S707/99943; Y10S707/99944; Y10S707/99945
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
128 words
A method for answering a database query, the method comprising: providing a database query; determining if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewriting the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the precomputed view includes at least one predicate which is not included in the query, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view which includes the at least one predicate which is not included in the query.
Claim 2
Independent Claim
128 words
A method for answering a database query, the method comprising: providing a database query; determining if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewriting the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the precomputed view includes at least one predicate which is not included in the query, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view which includes the at least one predicate which is not included in the query.
Claim 3
Independent Claim
133 words
A method for answering a database query, the method comprising: providing a database query; determining if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewriting the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the query includes at least one predicate which is not included in the first precomputed view, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view.
Claim 4
Independent Claim
133 words
A method for answering a database query, the method comprising: providing a database query; determining if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewriting the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the query includes at least one predicate which is not included in the first precomputed view, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view.
Claim 5
Dependent Claim
68 words
The method of claim 2 , wherein it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view if there is a functional dependency of data between at least one column in the first precomputed view and at least one column in the predicate that is not in the first precomputed view.
Claim 6
Dependent Claim
66 words
The method of claim 2 , wherein it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view if there is a functional dependency of data between at least one column in the first precomputed view and each column in the predicate that is not in the first precomputed view.
Claim 7
Dependent Claim
142 words
A computer program product, tangibly stored on a computer-readable medium, for answering a database query, comprising instructions operable to cause a programmable processor to: provide a database query; determine if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewrite the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the precomputed view includes at least one predicate which is not included in the query, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view which includes the at least one predicate which is not included in the query.
Claim 8
Dependent Claim
142 words
A computer program product, tangibly stored on a computer-readable medium, for answering a database query, comprising instructions operable to cause a programmable processor to: provide a database query; determine if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewrite the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the precomputed view includes at least one predicate which is not included in the query, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view which includes the at least one predicate which is not included in the query.
Claim 9
Dependent Claim
147 words
A computer program product, tangibly stored on a computer-readable medium, for answering a database query, comprising instructions operable to cause a programmable processor to: provide a database query; determine if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewrite the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the query includes at least one predicate which is not included in the first precomputed view, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view.
Claim 10
Dependent Claim
147 words
A computer program product, tangibly stored on a computer-readable medium, for answering a database query, comprising instructions operable to cause a programmable processor to: provide a database query; determine if the query should be rewritten, including a substep of determining if a first precomputed view may be utilized to rewrite the query; and rewrite the database query by utilizing a predefined hierarchy of data, the rewriting being performed if it is determined that the query should be rewritten; wherein the query includes at least one predicate which is not included in the first precomputed view, and wherein the substep of determining if the first precomputed view may be utilized to rewrite the query further includes a substep of determining whether it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view.
Claim 11
Dependent Claim
69 words
The computer program product of claim 6 , wherein it is acceptable to utilize the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view if there is a functional dependency of data between at least one column in the first precomputed view at least one column in the predicate that is not in the first precomputed view.
Claim 12
Dependent Claim
68 words
The computer program product of claim 6 , wherein it is acceptable to utilized the first precomputed view despite the query including the at least one predicate which is not included in the first precomputed view if there is a functional dependency of data between at least one column in the first precomputed view and each column in the predicate that is not in the first precomputed view.
References Cited (Backward Citations)
US5404506A
Cited
US5826077A
Cited
US5418946A
Cited
US5367675A
Cited
US5598559A
Cited
US5890148A
Cited
US5659728A
Cited
US5548755A
Cited
US5774692A
Cited
US5875334A
Cited
US5960427A
Cited
US5778355A
Cited
US5897632A
Cited
US5765147A
Cited
US5905982A
Cited
US5864840A
Cited
US6108651A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2004-03-05 | 2004-09-04 | 2005-03-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2008-03-05 | 2008-09-04 | 2009-03-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2012-03-05 | 2012-09-04 | 2013-03-06 | $7700.00 | Window Closed / Lapsed |