Relational Algebra

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.

Types of Relational operation


DBMS Relational Algebra

1. Select Operation:

  • The select operation selects tuples that satisfy a given predicate.
  • It is denoted by sigma (σ).

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 =, ≠, ≥, <, >, ≤.

For example: LOAN Relation

BRANCH_NAMELOAN_NOAMOUNT
DowntownL-171000
RedwoodL-232000
PerryrideL-151500
DowntownL-141500
MianusL-13500
RoundhillL-11900
PerryrideL-161300

Input:

Output:

BRANCH_NAMELOAN_NOAMOUNT
PerryrideL-151500
PerryrideL-161300

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 ∏.

Where

A1, A2, A3 is used as an attribute name of relation r.

Example: CUSTOMER RELATION

NAMESTREETCITY
JonesMainHarrison
SmithNorthRye
HaysMainHarrison
CurryNorthRye
JohnsonAlmaBrooklyn
BrooksSenatorBrooklyn

Input:

Output:

NAMECITY
JonesHarrison
SmithRye
HaysHarrison
CurryRye
JohnsonBrooklyn
BrooksBrooklyn

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 ∪.

A union operation must hold the following condition:

  • R and S must have the attribute of the same number.
  • Duplicate tuples are eliminated automatically.

Example:

DEPOSITOR RELATION

CUSTOMER_NAMEACCOUNT_NO
JohnsonA-101
SmithA-121
MayesA-321
TurnerA-176
JohnsonA-273
JonesA-472
LindsayA-284

BORROW RELATION

CUSTOMER_NAMELOAN_NO
JonesL-17
SmithL-23
HayesL-15
JacksonL-14
CurryL-93
SmithL-11
WilliamsL-17

Input:

Output:

CUSTOMER_NAME
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes

4. Set Intersection:

  • 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 ∩.

Example: Using the above DEPOSITOR table and BORROW table

Input:

Output:

CUSTOMER_NAME
Smith
Jones

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 (-).

Example: Using the above DEPOSITOR table and BORROW table

Input:

Output:

CUSTOMER_NAME
Jackson
Hayes
Willians
Curry

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.

Example:

EMPLOYEE

EMP_IDEMP_NAMEEMP_DEPT
1SmithA
2HarryC
3JohnB

DEPARTMENT

DEPT_NODEPT_NAME
AMarketing
BSales
CLegal

Input:

Output:

EMP_IDEMP_NAMEEMP_DEPTDEPT_NODEPT_NAME
1SmithAAMarketing
1SmithABSales
1SmithACLegal
2HarryCAMarketing
2HarryCBSales
2HarryCCLegal
3JohnBAMarketing
3JohnBBSales
3JohnBCLegal

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.

Note: Apart from these common operations Relational algebra can be used in Join operations.






Latest Courses