Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
275 words
A method of identifying a keySet(e) of an expression e=LR, where e is the expression, ⊙ is a root of the expression, said root being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein the keySet(e) is used to denote the set containing all minimal keys of the expression e, comprising the steps of: identifying a keySet (L) and a keySet(R); generating a first set S 1 by concantenating each element in said keySet (L) with each element in said keySet(R); generating a second set S 2 , wherein if the binary operator is a join or a left outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the right child R are in said keySet (R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; generating a third set S 3 , wherein if the binary operator is a join or a right outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the left child L are in said keySet(L), then said third set S 3 is defined as said keySet (R), otherwise said third set S 3 is an empty set; and defining the keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.
Claim 2
Independent Claim
275 words
A method of identifying a keySet(e) of an expression e=LR, where e is the expression, ⊙ is a root of the expression, said root being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein the keySet(e) is used to denote the set containing all minimal keys of the expression e, comprising the steps of: identifying a keySet (L) and a keySet(R); generating a first set S 1 by concantenating each element in said keySet (L) with each element in said keySet(R); generating a second set S 2 , wherein if the binary operator is a join or a left outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the right child R are in said keySet (R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; generating a third set S 3 , wherein if the binary operator is a join or a right outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the left child L are in said keySet(L), then said third set S 3 is defined as said keySet (R), otherwise said third set S 3 is an empty set; and defining the keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.
Claim 3
Dependent Claim
364 words
A computer program product for use with a computer system, said computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for causing the computer system to identify a keySet(e) of an expression e=LR , where e is the expression, ⊙ is a root of the expression, said root being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein said keySet(e) is used to denote a set containing all minimal keys of said expression e, said computer readable program code means comprising: computer readable program code means for enabling the computer system to identify a keySet (L) and a keySet(R); computer readable program code means for enabling the computer system to generate a first set S 1 by concantenating each element in said keySet(L) with each element in said keySet(R); computer readable program code means for enabling the computer system to generate a second set S 2 , wherein if said binary operator is a join or a left outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of said predicate and a schema of said right child R are in said keySet (R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; computer readable program code means for enabling the computer system to generate a third set S 3 , wherein if said binary operator is a join or a right outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of said predicate and a schema of said left child L are in said keySet(L), then said third set S 3 is defined as said keySet(R), otherwise said third set S 3 is an empty set; and computer readable program code means for enabling the computer system to define said keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.
Claim 4
Dependent Claim
364 words
A computer program product for use with a computer system, said computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for causing the computer system to identify a keySet(e) of an expression e=LR , where e is the expression, ⊙ is a root of the expression, said root being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein said keySet(e) is used to denote a set containing all minimal keys of said expression e, said computer readable program code means comprising: computer readable program code means for enabling the computer system to identify a keySet (L) and a keySet(R); computer readable program code means for enabling the computer system to generate a first set S 1 by concantenating each element in said keySet(L) with each element in said keySet(R); computer readable program code means for enabling the computer system to generate a second set S 2 , wherein if said binary operator is a join or a left outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of said predicate and a schema of said right child R are in said keySet (R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; computer readable program code means for enabling the computer system to generate a third set S 3 , wherein if said binary operator is a join or a right outer join, and if said predicate is equi-join, and if attributes that are common to both a schema of said predicate and a schema of said left child L are in said keySet(L), then said third set S 3 is defined as said keySet(R), otherwise said third set S 3 is an empty set; and computer readable program code means for enabling the computer system to define said keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.
Claim 5
Dependent Claim
274 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for identifying a keySet(e) being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein the keySet(e) is used to denote the set containing all minimal keys of the expression e, comprising the method steps of: identifying a keySet(L) and a keySet(R); generating a first set S 1 by concantenating each element in said keySet(L) with each element in said keySet(R); generating a second set S 2 , wherein if the binary operator is a join or a left outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the right child R are in said keySet(R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; generating a third set S 3 , wherein if the binary operator is a join or a right outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the left child L are in said keySet(L), then said third set S 3 is defined as said keySet(R), otherwise said third set S 3 is an empty set; and defining the keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.
Claim 6
Dependent Claim
274 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for identifying a keySet(e) being a binary operator, P LR is a predicate, L is a left child, and R is a right child, the keySet(e) being used to increase the efficiency of processing a query, wherein the keySet(e) is used to denote the set containing all minimal keys of the expression e, comprising the method steps of: identifying a keySet(L) and a keySet(R); generating a first set S 1 by concantenating each element in said keySet(L) with each element in said keySet(R); generating a second set S 2 , wherein if the binary operator is a join or a left outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the right child R are in said keySet(R), then said second set S 2 is defined as said keySet(L), otherwise said second set S 2 is an empty set; generating a third set S 3 , wherein if the binary operator is a join or a right outer join, and if the predicate is equi-join, and if attributes that are common to both a schema of the predicate and a schema of the left child L are in said keySet(L), then said third set S 3 is defined as said keySet(R), otherwise said third set S 3 is an empty set; and defining the keySet(e) as equal to the union of S 1 , S 2 , and S 3 , such that keySet(e)=S.sub.1 ∪S.sub.2 ∪S.sub.3.