Databases : Relational Algebra - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Databases : Relational Algebra

Description:

Sue's. Maple St. Joe's. addr. name. BarInfo = Sells JOIN Sells.bar = Bars.name Bars ... Sue's. Maple St. Joe's. addr. Bar. BarInfo = Sells Bars. BarInfo (bar, ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 17
Provided by: lik
Category:

less

Transcript and Presenter's Notes

Title: Databases : Relational Algebra


1
Databases Relational Algebra
  • 2007, Fall
  • Pusan National University
  • Ki-Joune Li

These slides are made from the materials that
Prof. Jeffrey D. Ullman distributes via his
course web page (http//infolab.stanford.edu/ullm
an/dscb/gslides.html)
2
What is an Algebra
  • Mathematical system consisting of
  • Operands variables or values from which new
    values can be constructed.
  • Operators symbols denoting procedures that
    construct new values from given values.

3
What is Relational Algebra?
  • An algebra
  • Operands relations or variables that represent
    relations.
  • Operators common operations that we need to do
    with relations in a database.
  • Relational Algebra a Theoretical basis of query
    language.

4
Core Relational Algebra
  • Set Operators
  • Union, intersection, and difference.
  • Selection picking certain rows.
  • Projection picking certain columns.
  • Products and joins compositions of relations.
  • Renaming of relations and attributes.

5
Selection
  • R1 SELECTC (R)
  • C is a condition (as in if statements) that
    refers to attributes of R.
  • R1 is all those tuples of R that satisfy C.
  • Denoted as sC (R)

6
Example
Relation Sells
JoeMenu SELECTbarJoes(Sells)
7
Projection
  • R1 PROJL (R)
  • L a list of attributes from the schema of R.
  • R1 is constructed by looking at each tuple of R,
    extracting the attributes on list L, in the order
    specified, and creating from those components a
    tuple for R1.
  • Eliminate duplicate tuples, if any.
  • Denoted pL (R)

8
Example
Relation Sells
Prices PROJbeer,price(Sells)
9
Product (also Cartesian Product)
  • R3 R1 x R2
  • Pair each tuple t1 of R1 with each tuple t2 of
    R2.
  • Concatenation (t1 t2) is a tuple of R3.
  • Schema of R3 the attributes of R1 and R2, in
    order.
  • But beware attribute A of the same name in R1 and
    R2 use R1.A and R2.A.

10
Example R1 x R2
R1(A, B)
R3(A, R1.B, R2.B, C)
R2(B, C)
11
Theta-Join
  • R3 R1 JOINC R2
  • Take the product R1 X R2.
  • Then apply SELECTC to the result.
  • Also denoted R1 C R2
  • As for SELECT, C can be any boolean-valued
    condition.
  • Historic versions of this operator allowed only A
    theta B, where theta was , lt, etc. hence the
    name theta-join.

12
Example
Sells (bar, beer, price)
Bars (name,addr)
BarInfo Sells JOIN Sells.bar Bars.name Bars
BarInfo (bar, beer, price, name, addr)
13
Cartesian Product and Theta Join
  • R1 C R2 ? R1 X R2
  • R1 C R2 sC (R1 X R2)

s
X
R1
R2
14
Natural Join
  • A frequent type of join connects two relations
    by
  • Equating attributes of the same name, and
  • Projecting out one copy of each pair of equated
    attributes.
  • Called natural join.
  • Denoted
  • R3 R1 JOIN R2 or
  • R3 R1 R2
  • R1 JOIN R2 Select R1.A R2.A (R1 X R2)

15
Example
Sells (bar, beer, price)
Bars (name,addr)
BarInfo Sells Bars
BarInfo (bar, beer, price, name, addr)
16
Renaming
  • The RENAME operator gives a new schema to a
    relation.
  • R1 RENAMER1(A1,,An)(R2) makes R1 be a
    relation with attributes A1,,An and the same
    tuples as R2.
  • Simplified notation R1(A1,,An) R2
    orrR1(A1,,An)(R2)
Write a Comment
User Comments (0)
About PowerShow.com