2. Relational Algebra
• Relational Algebra is procedural query language,
which takes Relation as input and generates
relation as output.
• Relational algebra mainly provides theoretical
foundation for relational databases and SQL.
• Relational algebra is a procedural query language.
• It gives a step by step process to obtain the result
of the query. It uses operators to perform queries.
3. 1. Select Operation:
• The select operation selects tuples that satisfy a given predicate.
• It is denoted by sigma (σ).
• Notation:
σ p(r)
Where:
• σ is used for selection prediction
r is used for relation
p is used as a propositional logic formula which may use
connectors like: AND OR and NOT.
• These relational can use as relational operators like =, ≠, ≥, <, >, ≤.
5. 2. Project Operation
• This operation shows the list of those attributes
that we wish to appear in the result. Rest of the
attributes are eliminated from the table.
• It is denoted by ∏.
• Notation: ∏ A1, A2, An (r)
• Where
• A1, A2, A3 is used as an attribute name of
relation r.
6. NAME STREET CITY
Jones Main Harrison
Smith North Rye
Hays Main Harrison
Curry North Rye
Johnson Alma Brooklyn
Brooks Senator Brooklyn
Example: CUSTOMER RELATION
Notation:
∏ NAME, CITY (CUSTOMER)
NAME CITY
Jones Harrison
Smith Rye
Hays Harrison
Curry Rye
Johnson Brooklyn
Brooks Brooklyn
Output:
7. 3. Union Operation
• Suppose there are two tuples R and S. The union
operation contains all the tuples that are either in R
or S or both in R & S.
• It eliminates the duplicate tuples. It is denoted by .
∪
• Notation: R S
∪
• A union operation must hold the following condition:
• R and S must have the attribute of the same number.
• Duplicate tuples are eliminated automatically.
8. CUSTOMER_
NAME
ACCOUNT_NO
Johnson A-101
Smith A-121
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284
DEPOSITOR RELATION
CUSTOMER_NA
ME
LOAN_NO
Jones L-17
Smith L-23
Hayes L-15
Jackson L-14
Curry L-93
Smith L-11
Williams L-17
BORROW RELATION
Input:
∏ CUSTOMER_NAME (BORROW) ∏ CUSTOMER_NAME (DEPOSITOR)
∪
CUSTOMER_NAM
E
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes
Output:
9. 4. Set Intersection
CUSTOMER_NAME
Smith
Jones
•Suppose there are two tuples R and S. The set intersection operation contains all
tuples that are in both R & S.
•It is denoted by intersection .
∩
1.Notation: R S
∩
Example: Using the above DEPOSITOR table and BORROW table
Input:
2.∏ CUSTOMER_NAME (BORROW) CUSTOMER_NAME (DEPOSITOR)
∩ ∏
Output:
10. 5. Set Difference:
• Suppose there are two tuples R and S. The set intersection
operation contains all tuples that are in R but not in S.
• It is denoted by intersection minus (-).
• Notation: R - S
• Example: Using the above DEPOSITOR table and BORROW table
• Input:
• ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
CUSTOMER_NAME
Jackson
Hayes
Willians
Curry
Output:
11. 6. Cartesian product
• The Cartesian product is used to combine each
row in one table with each row in the other
table. It is also known as a cross product.
• It is denoted by X.
• Notation: E X D
13. 7. Rename Operation
• The rename operation is used to rename the
output relation. It is denoted by rho (ρ).
• Example: We can use the rename operator to
rename STUDENT relation to STUDENT1.
• ρ(STUDENT1, STUDENT)