0% found this document useful (0 votes)
19 views87 pages

Module6 +Relational+Algebra

The chapter discusses the relational algebra and relational calculus. It introduces the basic set of relational algebra operations including select, project, join, and divide. It describes how these operations are used to manipulate relational data and form relational expressions to represent queries. The chapter also discusses how relational algebra is used to represent the logical execution plan of a SQL query and how this logical plan can be optimized.

Uploaded by

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

Module6 +Relational+Algebra

The chapter discusses the relational algebra and relational calculus. It introduces the basic set of relational algebra operations including select, project, join, and divide. It describes how these operations are used to manipulate relational data and form relational expressions to represent queries. The chapter also discusses how relational algebra is used to represent the logical execution plan of a SQL query and how this logical plan can be optimized.

Uploaded by

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

Chapter 6

The Relational
Algebra and
Relational
Calculus

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley


Chapter 6 Outline
 Unary Relational Operations: SELECT and
PROJECT
 Relational Algebra Operations from Set
Theory
 Binary Relational Operations: JOIN and
DIVISION
 Additional Relational Operations

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Chapter 6 Outline (cont’d.)
 Examples of Queries in Relational Algebra
 The Tuple Relational Calculus
 The Domain Relational Calculus

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


The WHAT and the HOW
 SQL = WHAT we want to get from the data
 Relational Algebra = HOW to get the data we
want
 Move from WHAT to HOW is query optimization
 SQL ~> Relational Algebra ~> Physical Plan
 Relational Algebra = Logical Plan

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


The Relational Algebra and
Relational Calculus
 Relational algebra
 Basic set of operations for the relational model
 Relational algebra expression
 Sequence of relational algebra operations
 Relational calculus
 Higher-level declarative language for
specifying relational queries

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Relational Algebra Overview
 Relational algebra is the basic set of
operations for the relational model
 These operations enable a user to specify
basic retrieval requests (or Queries)
 The result of an operation is a new relation,
which may have been formed from one or
more input relations

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Relational Algebra Overview cont…

 The algebra operations that produce new


relations
 These can be further manipulated using
operations of the same algebra
 A sequence of relational algebra operations
forms a relational algebra expression
 The result of a relational algebra expression is
also a relation that represents a query (or
retrieval request)

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Relational Algebra Overview cont…

 Unary Relational Operations


 SELECT (symbol  (sigma))
 PROJECT (symbol  (pi))
 RENAME (symbol  (rho))
 Relational Algebra Operations from Set Theory
 UNION (), INTERSECTION (), DEFFERENCE (or MINUS, -)
 CARTISIAN PRODUCT (x)
 Binary Relational Operations
 JOIN (several variations of JOIN exist)
 DIVISION
 Additional Relational Operations
 OUTER JOINS, OUTER UNION
 AGGREGATE FUNCTIONS (e.g., SUM, COUNT, AVG, MAX, MIN)

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Unary Relational Operations:
SELECT and PROJECT
 The SELECT Operation (- segma )
 Subset of the tuples from a relation that satisfies
a selection condition:

• The sele ction condition acts as a filter


• Boolean expression contains clauses of the form
<attribute name> <comparison op> <constant value>
or
• <attribute name> <comparison op> <attribute name>

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Database System Concepts ©Silberschatz,
Korth and Sudarshan th Edition
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Unary Relational Operations:
SELECT and PROJECT (cont’d.)
 Example:

 <selection condition> applied independently


to each individual tuple t in R
 If condition evaluates to TRUE, tuple selected
 Boolean conditions AND, OR, and NOT
 Unary
 Applied to a single relation

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Unary Relational Operations:
SELECT and PROJECT (cont’d.)
 Selectivity
 Fraction of tuples selected by a selection
condition
 SELECT operation commutative
 Cascade SELECT operations into a single
operation with AND condition

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


The PROJECT Operation
 Selects columns from table and discards
the other columns:

 Degree
 Number of attributes in <attribute list>
 Duplicate elimination
 Result of PROJECT operation is a set of
distinct tuples

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Sequences of Operations and
the RENAME Operation
 In-line expression:

 Sequence of operations:

 Rename attributes in intermediate results


 RENAME operation

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Relational Algebra Operations
from Set Theory
 UNION, INTERSECTION, and MINUS
 Merge the elements of two sets in various ways
 Binary operations
 Relations must have the same type of tuples
 UNION
 R∪S
 Includes all tuples that are either in R or in S or
in both R and S
 Duplicate tuples eliminated
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Relational Algebra Operations
from Set Theory (cont’d.)
 INTERSECTION
 R∩S
 Includes all tuples that are in both R and S
 SET DIFFERENCE (or MINUS)
 R–S
 Includes all tuples that are in R but not in S

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
The CARTESIAN PRODUCT
(CROSS PRODUCT) Operation
 CARTESIAN PRODUCT
 CROSS PRODUCT or CROSS JOIN
 Denoted by ×
 Binary set operation
 Relations do not have to be union compatible
 Useful when followed by a selection that
matches values of attributes

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Binary Relational Operations:
JOIN and DIVISION
 The JOIN Operation
 Denoted by
 Combine related tuples from two relations into
single “longer” tuples
 General join condition of the form <condition>
AND <condition> AND...AND <condition>
 Example:

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Binary Relational Operations:
JOIN and DIVISION (cont’d.)
 THETA JOIN
 Each <condition> of the form Ai θ Bj
 Ai is an attribute of R
 Bj is an attribute of S
 Ai and Bj have the same domain
 θ (theta) is one of the comparison operators:
• {=, <, ≤, >, ≥, ≠}

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Variations of JOIN: The
EQUIJOIN and NATURAL JOIN
 EQUIJOIN
 Only = comparison operator used
 Always have one or more pairs of attributes
that have identical values in every tuple
 NATURAL JOIN
 Denoted by *
 Removes second (superfluous) attribute in an
EQUIJOIN condition

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Variations of JOIN: The
EQUIJOIN and NATURAL JOIN
(cont’d.)
 Join selectivity
 Expected size of join result divided by the
maximum size nR * nS
 Inner joins
 Type of match and combine operation
 Defined formally as a combination of
CARTESIAN PRODUCT and SELECTION

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


A Complete Set of Relational
Algebra Operations
 Set of relational algebra operations {σ, π,
∪, ρ, –, ×} is a complete set
 Any relational algebra operation can be
expressed as a sequence of operations from
this set

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


The DIVISION Operation
 Denoted by ÷
 Example: retrieve the names of employees
who work on all the projects that ‘John
Smith’ works on
 Apply to relations R(Z) ÷ S(X)
 Attributes of R are a subset of the attributes of
S

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Operations of Relational Algebra

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Operations of Relational Algebra
(cont’d.)

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


We can classify the Relational
Algebra operators to:
 Set theoretic operators
 union “∪”, intersection “∩”, difference “\”
 Renaming operator ρ
 Removal operators
projection π, selection σ
 Combination operators
Cartesian product “×”, joins “ ”
 Extended operators
duplicate elimination, grouping, aggregation, sorting,
outer joins, etc.

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
SQL - RELATIONAL ALGEBRA

How to implement relational algebra in SQL?

Copyright © 2011 Ramez Elmasri and Shamkant Navathe


Copyright © 2011 Ramez Elmasri and Shamkant Navathe

You might also like