0% found this document useful (0 votes)
10 views34 pages

Relational Algebra

Uploaded by

Kashish Bhalla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views34 pages

Relational Algebra

Uploaded by

Kashish Bhalla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

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

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

2
Selection Operation
For example: LOAN Relation
BRANCH_NAME LOAN_NO AMOUNT

Downtown L17 1000


Redwood L23 2000
Perryride L15 1500
Downtown L14 1500
Mianus L13 500
Roundhill L11 900
Perryride L16 1300

3
Selection Operation
Input
σ BRANCH_NAME="perryride" (LOAN)
Output

BRANCH_NAME LOAN_NO AMOUNT

Perryride L15 1500


Perryride L16 1300

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

5
Project Operation
Example: CUSTOMER RELATION

NAME STREET CITY

Jones Main Harrison


Smith North Rye
Hays Main Harrison
Curry North Rye
Johnson Alma Brooklyn
Brooks Senator Brooklyn

6
Project Operation
Input:
∏ NAME, CITY (CUSTOMER)
Output:

NAME CITY

Jones Harrison
Smith Rye
Hays Harrison
Curry Rye
Johnson Brooklyn
Brooks Brooklyn

7
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
Union Operation
Example:
DEPOSITOR RELATION BORROW RELATION
CUSTOMER_NAME ACCOUNT_NO CUSTOMER_NAM LOAN_NO
E
Johnson A101 Jones L17
Smith A121 Smith L23
Mayes A321 Hayes L15
Turner A176 Jackson L14
Johnson A273 Curry L93
Jones A472 Smith L11
Lindsay A284 Williams L17

9
Union Operation
Input:
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
CUSTOMER_NAME
Output: Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes 10
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 ∩.
Notation: R ∩ S
Example: Using the above DEPOSITOR table and BORROW table.
Input:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEP
OSITOR)
CUSTOMER_NAME
Output:
Smith
Jones

11
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)
Output: CUSTOMER_NAME

Jackson
Hayes
Willians
12
Curry
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
Example:
EMPLOYEE
EMP_ID EMP_NAME
DEPARTMENT
EMP_DEPT
DEPT_NO DEPT_NAME
1 Smith A
2 Harry C A Marketing
3 John B B Sales
C Legal
13
Cartesian product
Input:
EMPLOYEE X DEPARTMENT
Output: EMP_ID EMP_NAM EMP_DEPT DEPT_NO DEPT_NAM
E E

1 Smith A A Marketing
1 Smith A B Sales
1 Smith A C Legal
2 Harry C A Marketing
2 Harry C B Sales
2 Harry C C Legal
3 John B A Marketing
3 John B B Sales
3 John B C Legal
14
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)

15
Join Operation
A Join operation combines related tuples from different relations, if
and only if a given join condition is satisfied. It is denoted by ⋈.

Example:
EMPLOYEE SALARY
EMP_CODE EMP_NAME EMP_CODE SALARY

101 Stephan 101 50000


102 Jack 102 30000
103 Harry 103 25000

16
Operation: (EMPLOYEE ⋈ SALARY)
EMP_CODE EMP_NAME SALARY

101 Stephan 50000


102 Jack 30000
103 Harry 25000

17
Theta Join:
• The general case of JOIN operation is called a Theta join. It is denoted by symbol θ
• A ⋈θ B
• Theta join can use any conditions in the selection criteria
• Example: A ⋈ A.column 2 > B.column 2 (B)

A ⋈ A.column 2 > B.column 2 (B)


Table A Table B
column column column column column 1 column 2
1 2 1 2 1 2
1 1 1 1
1 2 1 3

18
Natural Join:
• A natural join is the set of tuples of all combinations in R and S that are equal on
their common attribute names.
• Natural join can only be performed if there is a common attribute (column)
between the relations. The name and type of the attribute must be same.
• It is denoted by ⋈.
Example: Let's use the above EMPLOYEE table and SALARY table:
∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY)
Output:
EMP_NAME SALARY

Stephan 50000
Jack 30000
Harry 25000

19
Equi Join:
It is also known as an inner join. It is the most common join. It is
based on matched data as per the equality condition. The equi join
uses the comparison operator(=)

Example:
CUSTOMER Relation PRODUCT
CLASS_ID NAME PRODUCT_ID CITY

1 John
1 Delhi
2 Harry
2 Mumbai
3 Jackson
3 Noida

20
Equi Join:
Input: CUSTOMER ⋈CLASS_ID=PRODUCT_ID PRODUCT
Output:

CLASS_ID NAME PRODUCT_ID CITY

1 John 1 Delhi
2 Harry 2 Mumbai
3 Jackson 3 Noida

21
Outer Join:
• The outer join operation is an extension of the join operation. It is
used to deal with missing information.
• Example:
EMPLOYEE FACT_WORKERS

EMP_NAME STREET CITY EMP_NAME BRANCH SALARY

Ram Civil line Mumbai Ram Infosys 10000


Shyam Park street Kolkata Shyam Wipro 20000
Ravi M.G. Street Delhi Kuber HCL 30000
Hari Nehru nagar Hyderabad Hari TCS 50000
22
Outer Join:
Input: (EMPLOYEE ⋈ FACT_WORKERS)

Output:
EMP_NAME STREET CITY BRANCH SALARY

Ram Civil line Mumbai Infosys 10000


Shyam Park street Kolkata Wipro 20000
Hari Nehru nagar Hyderabad TCS 50000

23
Left Outer Join:
Input: EMPLOYEE ⟕ FACT_WORKERS

Output:
EMP_NAME STREET CITY BRANCH SALARY

Ram Civil line Mumbai Infosys 10000


Shyam Park street Kolkata Wipro 20000
Hari Nehru street Hyderabad TCS 50000
Ravi M.G. Street Delhi NULL NULL

24
Right Outer Join:
Input: EMPLOYEE ⟖ FACT_WORKERS

Output:
EMP_NAME BRANCH SALARY STREET CITY

Ram Infosys 10000 Civil line Mumbai


Shyam Wipro 20000 Park street Kolkata
Hari TCS 50000 Nehru street Hyderabad
Kuber HCL 30000 NULL NULL

25
Full Outer Join:
Input: EMPLOYEE ⟗ FACT_WORKERS

Output:

EMP_NAME STREET CITY BRANCH SALARY

Ram Civil line Mumbai Infosys 10000


Shyam Park street Kolkata Wipro 20000
Hari Nehru street Hyderabad TCS 50000

Ravi M.G. Street Delhi NULL NULL


Kuber NULL NULL HCL 30000

26
Examples:

27
28
29
30
31
32
33

You might also like