← Back to Patent Explorer
US5855019A Expired / Lapsed US ⏱️ 0.0 years remaining

Enumerating projections in SQL queries containing outer and full outer joins in the presence of inner joins

Assignee: International Business Machines Corp
•
Filing: 1997-07-31
•
Granted: 1998-12-29
•
Expires: 2017-07-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention discloses a method and apparatus for the enumeration of projections (i.e., "SELECT DISTINCT" operations) in SQL queries containing outer and full outer joins in the presence of inner joins without encountering any regression in performance. The present invention removes projections from a given user query by moving the projections to the top of an expression tree representation of the query, wherein the projection removal is performed using algebraic identities rather than rule-based transformations. The present invention also discloses several methods of enumerating different plans or schedules for projection operations and binary operations in the given user query. The present invention can significantly reduce the execution time of a query by selecting the optimal schedule for binary operations and projections between the binary operations. However, the present invention ensures that there is no regression in performance by comparing the cost of the query with the cost of enumerated plans or schedules, thereby ensuring that the optimizations or transformations do not introduce performance penalties.

Inventors

  • 👤 Gautam Bhargava
  • 👤 Piyush Goel
  • 👤 Balakrishna Raghavendra Iyer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 22:15
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24542; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99939

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 251 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 2
Independent Claim 251 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 3
Independent Claim 267 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.X ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 4
Independent Claim 267 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.X ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 5
Independent Claim 251 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y ,E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 6
Independent Claim 251 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y ,E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 7
Independent Claim 260 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.X ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 8
Independent Claim 260 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.X ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 9
Independent Claim 260 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 10
Independent Claim 260 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 11
Independent Claim 255 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) applying an identity to the query, wherein the identity comprises: ##EQU5## and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 12
Independent Claim 255 words
A method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) applying an identity to the query, wherein the identity comprises: ##EQU5## and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 13
Independent Claim 255 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 14
Independent Claim 255 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 15
Independent Claim 261 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 16
Independent Claim 261 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 17
Independent Claim 257 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 18
Independent Claim 257 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 19
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 20
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 21
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 22
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 23
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for applying an identity to the query, wherein the identity comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙.sup.p.sbsp.xy e.sub.y)=δ.sub.X.sbsb.1 (e.sub.x).sub.⊙.sup.p.sbsp.xy δ.sub.Y.sbsb.1 (e.sub.y) and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 24
Independent Claim 265 words
An apparatus for simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the apparatus comprising: (a) a computer; (b) means for accepting the query into the computer; and (c) means for applying an identity to the query, wherein the identity comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙.sup.p.sbsp.xy e.sub.y)=δ.sub.X.sbsb.1 (e.sub.x).sub.⊙.sup.p.sbsp.xy δ.sub.Y.sbsb.1 (e.sub.y) and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 25
Dependent Claim 268 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 26
Dependent Claim 268 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 27
Dependent Claim 284 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 28
Dependent Claim 284 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.2 δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.2 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , and Y 2 .OR right.Y 1 , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 29
Dependent Claim 268 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 30
Dependent Claim 268 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.1.sub.Y.sbsb.1 δ.sub.V.sbsb.x.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 31
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 32
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙π.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.V.sbsb.y.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 33
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 34
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) replacing a first expression in the query with a second expression, wherein the first expression comprises: π.sub.X.sbsb.2 δ.sub.X.sbsb.1 (e.sub.x)⊙δ.sub.Y.sbsb.1 (e.sub.y) and the second expression comprises: π.sub.X.sbsb.2.sub.Y.sbsb.1 δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙e.sub.Y) wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , and X 2 .OR right.X 1 , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , π X (r) is a projection operation of relation r onto attributes X, δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 35
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) applying an identity to the query, wherein the identity comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙.sup.p.sbsp.xy e.sub.y)=δ.sub.X.sbsb.1 (e.sub.x).sub.⊙.sup.p.sbsp.xy δ.sub.Y.sbsb.1 (e.sub.y) and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.
Claim 36
Dependent Claim 276 words
An article of manufacture comprising a computer program carrier embodying one or more instructions of a method of simplifying a query in a computer, the query being performed by the computer to retrieve data from a database stored in a electronic storage device coupled to the computer, the method comprising the steps of: (a) accepting the query into the computer; and (b) applying an identity to the query, wherein the identity comprises: δ.sub.X.sbsb.1.sub.Y.sbsb.1 (e.sub.x ⊙.sup.p.sbsp.xy e.sub.y)=δ.sub.X.sbsb.1 (e.sub.x).sub.⊙.sup.p.sbsp.xy δ.sub.Y.sbsb.1 (e.sub.y) and wherein: e X =(R X , V X , E X ) is a relation, where R X is a non-empty set of real attributes, V X is a non-empty set of virtual attributes, E X , an extension of the relation, also denoted as ext(e X ), is a set of tuples, and X 1 .OR right.R X , e Y =(R Y , V Y , E Y ) is a relation, where R Y is a non-empty set of real attributes, V Y is a non-empty set of virtual attributes, E Y , an extension of the relation, also denoted as ext(e Y ), is a set of tuples, and Y 1 .OR right.R Y , p xy is a predicate, sch(p xy ) is a schema of p xy , (sch(p xy )∩R X ).OR right.X 1 , (sch(p xy )∩R Y ).OR right.Y 1 , δ X (r) is a distinct projection operation of relation r onto attributes X, and ⊙ε{, ←, →, ←→}, wherein represents a join operation, ←→ represents a full outer join operation, ← represents a left outer join operation, and → represents a right outer join operation.

References Cited (Backward Citations)

US4829427A Cited
US4769772A Cited
US5091852A Cited
US5335345A Cited
US5367675A Cited
US5495605A Cited
US5412806A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-12-28 2002-06-29 2002-12-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-12-28 2006-06-29 2006-12-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-12-28 2010-06-29 2010-12-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag