0% found this document useful (0 votes)
39 views20 pages

Relational Algebra

The document discusses relational algebra, which is a procedural language consisting of operations that take relations as input and produce new relations as output. It describes the basic relational algebra operators such as select, project, union, set difference, Cartesian product, and rename. Examples are provided to illustrate how each operator works and how operations can be composed to form relational expressions.

Uploaded by

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

Relational Algebra

The document discusses relational algebra, which is a procedural language consisting of operations that take relations as input and produce new relations as output. It describes the basic relational algebra operators such as select, project, union, set difference, Cartesian product, and rename. Examples are provided to illustrate how each operator works and how operations can be composed to form relational expressions.

Uploaded by

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

HINDUSTHAN

Educate Ethics Excel

College of Engineering and Technology

Presented by
Mr. P. Arul Selvam
AP/CSE/HICET

1
Relational Algebra

Educate Ethics Excel


2
Relational Algebra
• A procedural language consisting of a set of operations that take one or two relations
as input and produce a new relation as their result.
• Six basic operators
– select: 
– project: 
– union: 
– set difference: –
– Cartesian product: x
– rename: 

3
Educate Ethics Excel
Select Operation
• The select operation selects tuples that satisfy a given predicate.
• Notation:  p (r)
• p is called the selection predicate
• Example: select those tuples of the instructor relation where the instructor is in the
“Physics” department.
– Query

 dept_name=“Physics” (instructor)
– Result

4
Educate Ethics Excel
Select Operation (Cont.)
• We allow comparisons using
=, , >, . <. 
in the selection predicate.
• We can combine several predicates into a larger predicate by using the connectives:
 (and),  (or),  (not)
• Example: Find the instructors in Physics with a salary greater $90,000, we write:

 dept_name=“Physics”  salary > 90,000 (instructor)

• The select predicate may include comparisons between two attributes.


– Example, find all departments whose name is the same as their building name:
–  dept_name=building (department)

5
Educate Ethics Excel
Project Operation
• A unary operation that returns its argument relation, with certain attributes left out.
• Notation:

 A1,A2,A3 ….Ak (r)

where A1, A2, …, Ak are attribute names and r is a relation name.


• The result is defined as the relation of k columns obtained by erasing the columns that
are not listed
• Duplicate rows removed from result, since relations are sets

6
Educate Ethics Excel
Project Operation Example
• Example: eliminate the dept_name attribute of instructor
• Query:

ID, name, salary (instructor)


• Result:

7
Educate Ethics Excel
Composition of Relational Operations
• The result of a relational-algebra operation is relation and therefore of relational-
algebra operations can be composed together into a relational-algebra expression.
• Consider the query -- Find the names of all instructors in the Physics department.

name( dept_name =“Physics” (instructor))

• Instead of giving the name of a relation as the argument of the projection operation,
we give an expression that evaluates to a relation.

8
Educate Ethics Excel
Cartesian-Product Operation
• The Cartesian-product operation (denoted by X) allows us to combine information
from any two relations.
• Example: the Cartesian product of the relations instructor and teaches is written as:
instructor X teaches
• We construct a tuple of the result out of each possible pair of tuples: one from the
instructor relation and one from the teaches relation (see next slide)
• Since the instructor ID appears in both relations we distinguish between these attribute
by attaching to the attribute the name of the relation from which the attribute
originally came.
– instructor.ID
– teaches.ID

9
Educate Ethics Excel
The instructor X teaches table

10
Educate Ethics Excel
Join Operation
• The Cartesian-Product
instructor X teaches
associates every tuple of instructor with every tuple of teaches.
– Most of the resulting rows have information about instructors who did NOT teach
a particular course.
• To get only those tuples of “instructor X teaches “ that pertain to instructors and the
courses that they taught, we write:

 instructor.id = teaches.id (instructor x teaches ))

– We get only those tuples of “instructor X teaches” that pertain to instructors and
the courses that they taught.
• The result of this expression, shown in the next slide

11
Educate Ethics Excel
Join Operation (Cont.)
• The table corresponding to:

 instructor.id = teaches.id (instructor x teaches))

12
Educate Ethics Excel
Join Operation (Cont.)
• The join operation allows us to combine a select operation and a Cartesian-Product
operation into a single operation.
• Consider relations r (R) and s (S)
• Let “theta” be a predicate on attributes in the schema R “union” S. The join operation
r s is defined as follows:

• Thus

 instructor.id = teaches.id (instructor x teaches ))


• Can equivalently be written as

instructor Instructor.id = teaches.id teaches.

13
Educate Ethics Excel
Union Operation
• The union operation allows us to combine two relations
• Notation: r  s
• For r  s to be valid.
1. r, s must have the same arity (same number of attributes)
2. The attribute domains must be compatible (example: 2nd
column of r deals with the same type of values as does the
2nd column of s)
• Example: to find all courses taught in the Fall 2017 semester, or in the Spring 2018 semester, or in
both

course_id ( semester=“Fall” Λ year=2017 (section)) 


course_id ( semester=“Spring” Λ year=2018 (section))

14
Educate Ethics Excel
Union Operation (Cont.)
• Result of:

course_id ( semester=“Fall” Λ year=2017 (section)) 


course_id ( semester=“Spring” Λ year=2018 (section))

15
Educate Ethics Excel
Set-Intersection Operation
• The set-intersection operation allows us to find tuples that are in both the input
relations.
• Notation: r  s
• Assume:
– r, s have the same arity
– attributes of r and s are compatible
• Example: Find the set of all courses taught in both the Fall 2017 and the Spring 2018
semesters.

course_id ( semester=“Fall” Λ year=2017 (section)) 


course_id ( semester=“Spring” Λ year=2018 (section))
– Result

16
Educate Ethics Excel
Set Difference Operation
• The set-difference operation allows us to find tuples that are in one relation but are not
in another.
• Notation r – s
• Set differences must be taken between compatible relations.
– r and s must have the same arity
– attribute domains of r and s must be compatible
• Example: to find all courses taught in the Fall 2017 semester, but not in the Spring 2018
semester
course_id ( semester=“Fall” Λ year=2017 (section)) −
course_id ( semester=“Spring” Λ year=2018 (section))

17
Educate Ethics Excel
The Assignment Operation
• It is convenient at times to write a relational-algebra expression by assigning parts of it
to temporary relation variables.
• The assignment operation is denoted by  and works like assignment in a
programming language.
• Example: Find all instructor in the “Physics” and Music department.

Physics   dept_name=“Physics” (instructor)


Music   dept_name=“Music” (instructor)
Physics  Music
• With the assignment operation, a query can be written as a sequential program
consisting of a series of assignments followed by an expression whose value is
displayed as the result of the query.

18
Educate Ethics Excel
The Rename Operation
• The results of relational-algebra expressions do not have a name that we can use to
refer to them. The rename operator,  , is provided for that purpose
• The expression:

x (E)
returns the result of expression E under the name x
• Another form of the rename operation:

x(A1,A2, .. An) (E)


• ρ MaleStudent(Sno, Name) πRollNo, SName(σCondition(Student))

19
Educate Ethics Excel
Thank
you
19CS4201 / Java Programming 20
Educate Ethics Excel

You might also like