Unit 3 - Part2
Unit 3 - Part2
E BR
L G
A
A L
N
O
I R T
2
T
LA –
A
P
E
R I T
3
N
U
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
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 =, ≠, ≥, <, >, ≤.
For example: LOAN Relation
Input:
σ BRANCH_NAME="perryride" (LOAN)
Brooks Brooklyn
UNION OPERATION
Suppose there are two tables 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.
Example:
DEPOSITOR RELATION
CUSTOMER_NAME ACCOUNT_NO
Johnson A-101
Smith A-121
BORROW RELATION
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284
CUSTOMER_NAME LOAN_NO
Jones L-17
Smith L-23
Hayes L-15
CUSTOMER_NAME
Jackson L-14
Curry L-93 Johnson
Input: Jones
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUST Lindsay
OMER_NAME (DEPOSITOR)
Jackson
Curry
Williams
Mayes
SET INTERSECTION
Suppose there are two tuples R and S. The set intersection
operation contains all tuples that are in both R & S(common
tuples).
It is denoted by intersection ∩.
Notation: R ∩ S
Example: Using the above DEPOSITOR table and BORROW table
Input:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSIT
OR) CUSTOMER_NAME
Output:
Smith
Jones
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 (DEPOSIT
OR)
Output: CUSTOMER_NAME
Jackson
Hayes
Willians
Curry
CARTESIAN PRODUCT
DEPT_NO DEPT_NAME
A Marketing
B Sales
C Legal
Input:
EMPLOYEE X DEPARTMENT
Output:
EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
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
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)
SET THEORETICAL OPERATIONS ON
RELATIONS
The SQL Set operation is used to combine the two or more SQL SELECT
statements.
Types of Set Operation
1. Union
2. UnionAll
3. Intersect
4. Minus
UNION
The SQL Union operation is used to combine the result of two or more
SQL SELECT queries.
In the union operation, all the number of datatype and columns must
be same in both the tables on which UNION operation is being
applied.
The union operation eliminates the duplicate rows from its resultset.
Syntax
SELECT column_name FROM table1
UNION
SELECT column_name FROM table2;
EXAMPLE
The First table The Second table
ID NAME ID NAME
1 Jack 3 Jackson
2 Harry 4 Stephan
3 Jackson 5 David
ID NAME
1 Jack
2 Harry
3 Jackson
4 Stephan
5 David
UNION ALL
Union All operation is equal to the Union operation. It returns the set
without removing duplication and sorting the data.
Syntax:
SELECT column_name FROM table1
UNION ALL
SELECT column_name FROM table2;
Example: Using the above First and Second table.
Union All query will be like:
SELECT * FROM First
UNION ALL
SELECT * FROM Second;
The resultset table will look like:
ID NAME
1 Jack
2 Harry
3 Jackson
3 Jackson
4 Stephan
5 David
INTERSECT
It is used to combine two SELECT statements. The Intersect operation returns
the common rows from both the SELECT statements.
In the Intersect operation, the number of datatype and columns must be the
same.
It has no duplicates and it arranges the data in ascending order by default.
Syntax
SELECT column_name FROM table1
INTERSECT
SELECT column_name FROM table2;
Example:
Using the above First and Second table.
Intersect query will be:
ID NAME
3 Jackson
MINUS
It combines the result of two SELECT statements. Minus operator is used to
display the rows which are present in the first query but absent in the second
query.
It has no duplicates and data arranged in ascending order by default.
Syntax:
SELECT column_name FROM table1
MINUS
SELECT column_name FROM table2;
Example
Using the above First and Second table.
Minus query will be:
SELECT * FROM First
MINUS
SELECT * FROM Second;
The resultset table will look like:
ID NAME
1 Jack
2 Harry
JOIN OPERATIONS
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
EMP_CODE EMP_NAME
101 Stephan
102 Jack
103 Harry
SALARY
EMP_CODE SALARY
101 50000
102 30000
103 25000
Result
EMP_NAME SALARY
Stephan 50000
Jack 30000
Harry 25000
OUTER JOIN
The outer join operation is an extension of the join operation. It is used
to deal with missing information.
Example:
EMPLOYEE
1 John 1 Delhi
2 Harry 2 Mumbai
3 Jackson 3 Noida
Input:
CUSTOMER ⋈ PRODUCT
Output:
1 John 1 Delhi
2 Harry 2 Mumbai
3 Harry 3 Noida