Claims Analysis
Total Claims: 34
Claim 1
Independent Claim
68 words
A method comprising the steps of receiving a computer programming language database system query; generating at least one relational algebraic expression in response to said query by employing at least one of a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator; selecting at least one of said relational algebraic expressions; and accessing said computer programming language database based on said selected expression.
Claim 2
Independent Claim
68 words
A method comprising the steps of receiving a computer programming language database system query; generating at least one relational algebraic expression in response to said query by employing at least one of a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator; selecting at least one of said relational algebraic expressions; and accessing said computer programming language database based on said selected expression.
Claim 3
Dependent Claim
22 words
The method of claim 1 wherein said selecting comprises the step of estimating processing costs for at least one of said expressions.
Claim 4
Dependent Claim
15 words
The method of claim 2 wherein said selecting is based on said estimated processing costs.
Claim 5
Dependent Claim
12 words
The method of claim 1 wherein said computer programming language is SQL.
Claim 6
Dependent Claim
31 words
The method of claim 4 wherein said query is selected from the group consisting of queries with aggregation views, queries with SELECT DISTINCT views, and queries with correlated subqueries and outerjoins.
Claim 7
Dependent Claim
22 words
The method of claim 4 wherein said query is selected from the group consisting of queries with views and queries with subqueries.
Claim 8
Independent Claim
13 words
The method of claim I wherein said query is a decision support query.
Claim 9
Dependent Claim
23 words
The method of claim 4 wherein said query is at least one magic set rewriting of a second computer programming language database query.
Claim 10
Dependent Claim
49 words
A computer programming language query optimizer comprising means for receiving a computer database language query; and means for generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression being equivalent to said query.
Claim 11
Dependent Claim
49 words
A computer programming language query optimizer comprising means for receiving a computer database language query; and means for generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression being equivalent to said query.
Claim 12
Dependent Claim
70 words
A computer processor programmed to perform method steps for optimizing an SQL query, said method steps comprising generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression equivalent to said query; and performing cost-based algebraic optimization of said algebraic expressions, said cost-based algebraic optimization using at least one cost formula for said theta-semijoin operator.
Claim 13
Dependent Claim
70 words
A computer processor programmed to perform method steps for optimizing an SQL query, said method steps comprising generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression equivalent to said query; and performing cost-based algebraic optimization of said algebraic expressions, said cost-based algebraic optimization using at least one cost formula for said theta-semijoin operator.
Claim 14
Dependent Claim
49 words
A program storage device embodying a computer program to perform method steps comprising: receiving an SQL query; and generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression equivalent to said SQL query.
Claim 15
Dependent Claim
49 words
A program storage device embodying a computer program to perform method steps comprising: receiving an SQL query; and generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the relational algebraic theta-semijoin operator, said expression equivalent to said SQL query.
Claim 16
Dependent Claim
37 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query.
Claim 17
Dependent Claim
37 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query.
Claim 18
Independent Claim
57 words
A method of optimizing a computer programming language query, the improvement comprising the steps of receiving said query, generating a search space, said search space comprised of at least one relational algebraic expression equivalent to said query, said expression involving the multiset version of the theta-semijoin operator; and optimizing said query by estimating cost for said expression.
Claim 19
Independent Claim
57 words
A method of optimizing a computer programming language query, the improvement comprising the steps of receiving said query, generating a search space, said search space comprised of at least one relational algebraic expression equivalent to said query, said expression involving the multiset version of the theta-semijoin operator; and optimizing said query by estimating cost for said expression.
Claim 20
Independent Claim
102 words
A method of retrieving information from a computer database comprising the steps of receiving a computer database language query; translating said query into a first relational algebraic expression; generating at least one relational algebraic expression in response to said first relational algebraic expression by employing at least one equivalence rule involving the multiset version of the theta-semijoin; generating a cost estimate for each of said expressions by employing at least one cost formula for said theta-semijoin operator; selecting one of said expressions, said selection based on said generated cost estimates; and employing said selected expression to retrieve said information from said database.
Claim 21
Independent Claim
102 words
A method of retrieving information from a computer database comprising the steps of receiving a computer database language query; translating said query into a first relational algebraic expression; generating at least one relational algebraic expression in response to said first relational algebraic expression by employing at least one equivalence rule involving the multiset version of the theta-semijoin; generating a cost estimate for each of said expressions by employing at least one cost formula for said theta-semijoin operator; selecting one of said expressions, said selection based on said generated cost estimates; and employing said selected expression to retrieve said information from said database.
Claim 22
Independent Claim
69 words
A method comprising the steps of receiving at least a first and a second computer database language queries; generating at least one relational algebraic expression for each said query by employing at least one equivalence rule involving the multiset version of the theta-semijoin operator; and determining equivalency of any of said generated relational algebraic expressions from said first query to said generated relational algebraic expressions of said second query.
Claim 23
Independent Claim
69 words
A method comprising the steps of receiving at least a first and a second computer database language queries; generating at least one relational algebraic expression for each said query by employing at least one equivalence rule involving the multiset version of the theta-semijoin operator; and determining equivalency of any of said generated relational algebraic expressions from said first query to said generated relational algebraic expressions of said second query.
Claim 24
Independent Claim
49 words
An apparatus for determining equivalence of SQL queries, comprising means for accepting at least two SQL queries; and means for generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the theta-semijoin operator, said generated expressions equivalent to respective queries.
Claim 25
Independent Claim
49 words
An apparatus for determining equivalence of SQL queries, comprising means for accepting at least two SQL queries; and means for generating at least one relational algebraic expression by employing at least one equivalence rule involving the multiset version of the theta-semijoin operator, said generated expressions equivalent to respective queries.
Claim 26
Independent Claim
102 words
A method comprising the steps of receiving a computer programming language database system query; generating at least one relational algebraic expression in response to said query by employing at least one of a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator; selecting at least one of said relational algebraic expressions; and accessing said computer programming language database based on said selected expression, said multiset version defined as ##EQU52## where R1 and R2 denote relations, and θ(t 2 ) denotes the predicate θ with attributes of R 2 replaced by their values from tuple t 2 .
Claim 27
Independent Claim
102 words
A method comprising the steps of receiving a computer programming language database system query; generating at least one relational algebraic expression in response to said query by employing at least one of a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator; selecting at least one of said relational algebraic expressions; and accessing said computer programming language database based on said selected expression, said multiset version defined as ##EQU52## where R1 and R2 denote relations, and θ(t 2 ) denotes the predicate θ with attributes of R 2 replaced by their values from tuple t 2 .
Claim 28
Dependent Claim
38 words
The method of claim 17 wherein said collection includes equivalence rule ##EQU53## where E (with or without subscripts) denotes relational expressions, θ (with or without subscripts) denotes predicates,.sub.θ denotes the θ-join operator, and .sub.θ denotes the θ-semijoin operator.
Claim 29
Dependent Claim
38 words
The method of claim 17 wherein said collection includes equivalence rule ##EQU54## E (with or without subscripts) denotes relational expressions, θ (with or without subscripts) denotes predicates, .sub.θ denotes the θ-join operator, and .sub.θ denotes the θ-semijoin operator.
Claim 30
Dependent Claim
58 words
The method of claim 17 wherein said collection includes equivalence rule ##EQU55## where E (with or without subscripts) denotes relational expressions, θ (with or without subscripts) denotes predicates, .sub.θ denotes the θ-join operator, .sub.θ denotes the θ-semijoin operator, g F f denotes a grouping/aggregation operator, and θ involves only the attributes in a and attrs (E 2 ).
Claim 31
Dependent Claim
70 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query, said multiset version defined as ##EQU56## where R1 and R2 denote relations, θ(t 2 ) denotes the predicate θ with attributes of R 2 replaced by their values from tuple t 2 .
Claim 32
Dependent Claim
70 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query, said multiset version defined as ##EQU56## where R1 and R2 denote relations, θ(t 2 ) denotes the predicate θ with attributes of R 2 replaced by their values from tuple t 2 .
Claim 33
Dependent Claim
69 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query, said rules including rule ##EQU57## where E (with or without subscripts) denotes relational expressions, θ (with or without subscripts) denotes predicates, .sub.θ denotes the θ-join operator, and .sub.θ denotes the θ-semijoin operator.
Claim 34
Dependent Claim
69 words
A storage device embodying a collection of equivalence rules involving the multiset version of the relational algebraic theta-semijoin operator, said rules input to software employing relational algebraic expressions, said expressions responsive to a computer language database query, said rules including rule ##EQU57## where E (with or without subscripts) denotes relational expressions, θ (with or without subscripts) denotes predicates, .sub.θ denotes the θ-join operator, and .sub.θ denotes the θ-semijoin operator.