Pages

05 April, 2022

Relational Algebra

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 (σ).
  1. 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 =, ≠, ≥, <, >, ≤.

For example LOAN Relation

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

Input:

  1. σ BRANCH_NAME="ferry ride" (LOAN)  

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. The rest of the attributes are eliminated from the table.
  • It is denoted by ∏.
  1. Notation: ∏ A1, A2, An (r)   

Where

A1A2A3 are used as an attribute name of relation r.

Example: CUSTOMER RELATION

NAMESTREETCITY
JonesMainHarrison
SmithNorthRye
HaysMainHarrison
CurryNorthRye
JohnsonAlmaBrooklyn
BrooksSenatorBrooklyn

Input:

  1. ∏ NAME, CITY (CUSTOMER)  

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

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:

  1. ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)  

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 ∩.
  1. Notation: R ∩ S   

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)  

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 (-).
  1. Notation: R - S  

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)  

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.
  1. Notation: E X D  

Example:

EMPLOYEE

EMP_IDEMP_NAMEEMP_DEPT
1SmithA
2HarryC
3JohnB

DEPARTMENT

DEPT_NODEPT_NAME
AMarketing
BSales
CLegal

Input:

  1. EMPLOYEE X DEPARTMENT  

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.

  1. ρ(STUDENT1, STUDENT)  

No comments:

Post a Comment

Thanks