Relational AlgebraRelational Algebra
Relational Algebra is a procedural query language.Relational Algebra is a procedural query language.
It consists of a set of operations that take one orIt consists of a set of operations that take one or
two relations as input and produce a new relation astwo relations as input and produce a new relation as
their resulttheir result..
Presented to:- presented by:-Presented to:- presented by:-
Dr. Himanshu Hora Sir Shekhar Singh TomarDr. Himanshu Hora Sir Shekhar Singh Tomar
MCA(III sem)MCA(III sem)
Fundamental Operation in
Relational Algebra are:
• Selection
• Projection
• Union
• Set Difference
• Cartesian Product
• Join
SELECTION (σ)
• The SELECT operator is σ (sigma) symbol
Used as an expression to choose tuples that
meet the selection condition…
σ<selection condition>(R)
-> Select operation selects tuples that satisfy a
given predicate. 
Ex:- find all employees born after 1st Jan 1950:
• dob  σ '01/JAN/1950'(employee)
PROJECTION(∏ )Pi
•  ∏ (pi) symbol used to choose
attributes from a relation.
• This operator shows the list of those
attributes that we wish to appear in
the result and rest attributes are
eliminated from the table.
∏ <attribute list>(relation)
SELECTION & PROJECTION Example
Id Name Address Hobby
1123 John 123 Main stamps
1123 John 123 Main coins
5556 Mary 7 Lake Dr hiking
9876 Bart 5 Pine St stamps
Id Name Address Hobby
1123 John 123 Main stamps
9876 Bart 5 Pine St stamps
σ Hobby=‘stamps’(Person)
Person
∏Name,Hobby(Person)
Name Hobby
John stamps
John coins
Mary Hiking
Bart stamps
UNION (U)
• UNION is symbolized by , and∪
includes all tuples that are in R or in
S, eliminating duplicate tuples,
therefore set R UNION set S would
be expressed as:
• RESULT R S← ∪
UNION Example
Set Difference Operator
(R-S)
• the MINUS operation includes tuples
from one Relation that are not in
another Relation and symbolized by
the – (minus) symbol. Therefore R – S
would be expressed as…
• RESULT  ← R – S
DIFFERENCE
Example
Intersection ( )∩
• The INTERSECTION operation on a
relation A INTERSECTION relation
B, is symbolized by R   ∩ S, includes
tuples that are only in R and S.
• RESULT  ← R   ∩ S
INTERSECTION
Example
Cartesian Product (RXS)
• Creates a relation that has all the
attributes of R and S, allowing all the
attainable combinations of tuples
from R and S in the result. The
notation used is X.
• C = R X S
CARTESIAN
PRODUCT example
JOIN
• The JOIN operation is denoted by
the R|X|S symbol and is used to
compound similar tuples from two
Relations into single longer tuples.
• Join operation is generally the cross
product of two relation.
• The notation used is
• R JOIN join condition S
JOIN Example
Types of join
• Natural Join
• Outer Join
Natural Join
• The JOIN involves an equality test, and thus is often
described as an equi-join. Such joins result in two
attributes in the resulting relation having exactly the
same value. A `natural join' will remove the duplicate
attribute(s).
• In most systems a natural join will require that the
attributes have the same name to identify the
attribute(s) to be used in the join. This may require a
renaming mechanism.
• If you do use natural joins make sure that the
relations do not have two attributes with the same
name by accident.
Outer Join
There are three forms of the outer join, depending on
which data is to be kept.
• LEFT OUTER JOIN - keep data from the left-hand
table
• RIGHT OUTER JOIN - keep data from the right-
hand table
• FULL OUTER JOIN - keep data from both tables
LEFT & RIGHT OUTER
JOIN Example
Figure : OUTER JOIN (left/right)
Full OUTER JOIN
Example
Figure : OUTER JOIN (full)
Thank you

Relational algebra in dbms

  • 1.
    Relational AlgebraRelational Algebra RelationalAlgebra is a procedural query language.Relational Algebra is a procedural query language. It consists of a set of operations that take one orIt consists of a set of operations that take one or two relations as input and produce a new relation astwo relations as input and produce a new relation as their resulttheir result.. Presented to:- presented by:-Presented to:- presented by:- Dr. Himanshu Hora Sir Shekhar Singh TomarDr. Himanshu Hora Sir Shekhar Singh Tomar MCA(III sem)MCA(III sem)
  • 2.
    Fundamental Operation in RelationalAlgebra are: • Selection • Projection • Union • Set Difference • Cartesian Product • Join
  • 3.
    SELECTION (σ) • TheSELECT operator is σ (sigma) symbol Used as an expression to choose tuples that meet the selection condition… σ<selection condition>(R) -> Select operation selects tuples that satisfy a given predicate.  Ex:- find all employees born after 1st Jan 1950: • dob  σ '01/JAN/1950'(employee)
  • 4.
    PROJECTION(∏ )Pi •  ∏(pi) symbol used to choose attributes from a relation. • This operator shows the list of those attributes that we wish to appear in the result and rest attributes are eliminated from the table. ∏ <attribute list>(relation)
  • 5.
    SELECTION & PROJECTIONExample Id Name Address Hobby 1123 John 123 Main stamps 1123 John 123 Main coins 5556 Mary 7 Lake Dr hiking 9876 Bart 5 Pine St stamps Id Name Address Hobby 1123 John 123 Main stamps 9876 Bart 5 Pine St stamps σ Hobby=‘stamps’(Person) Person ∏Name,Hobby(Person) Name Hobby John stamps John coins Mary Hiking Bart stamps
  • 6.
    UNION (U) • UNIONis symbolized by , and∪ includes all tuples that are in R or in S, eliminating duplicate tuples, therefore set R UNION set S would be expressed as: • RESULT R S← ∪
  • 7.
  • 8.
    Set Difference Operator (R-S) •the MINUS operation includes tuples from one Relation that are not in another Relation and symbolized by the – (minus) symbol. Therefore R – S would be expressed as… • RESULT  ← R – S
  • 9.
  • 10.
    Intersection ( )∩ •The INTERSECTION operation on a relation A INTERSECTION relation B, is symbolized by R   ∩ S, includes tuples that are only in R and S. • RESULT  ← R   ∩ S
  • 11.
  • 12.
    Cartesian Product (RXS) •Creates a relation that has all the attributes of R and S, allowing all the attainable combinations of tuples from R and S in the result. The notation used is X. • C = R X S
  • 13.
  • 14.
    JOIN • The JOINoperation is denoted by the R|X|S symbol and is used to compound similar tuples from two Relations into single longer tuples. • Join operation is generally the cross product of two relation. • The notation used is • R JOIN join condition S
  • 15.
  • 16.
    Types of join •Natural Join • Outer Join
  • 17.
    Natural Join • TheJOIN involves an equality test, and thus is often described as an equi-join. Such joins result in two attributes in the resulting relation having exactly the same value. A `natural join' will remove the duplicate attribute(s). • In most systems a natural join will require that the attributes have the same name to identify the attribute(s) to be used in the join. This may require a renaming mechanism. • If you do use natural joins make sure that the relations do not have two attributes with the same name by accident.
  • 18.
    Outer Join There arethree forms of the outer join, depending on which data is to be kept. • LEFT OUTER JOIN - keep data from the left-hand table • RIGHT OUTER JOIN - keep data from the right- hand table • FULL OUTER JOIN - keep data from both tables
  • 19.
    LEFT & RIGHTOUTER JOIN Example Figure : OUTER JOIN (left/right)
  • 20.
    Full OUTER JOIN Example Figure: OUTER JOIN (full)
  • 21.