Relational Algebra
Chapter 4, Part A
Database Management Systems, R. Ramakrishnan and J. Gehrke
1
Relational Query Languages
Database Management Systems, R. Ramakrishnan and J. Gehrke
2
Formal Relational Query Languages
Two mathematical Query Languages form the basis for “real” languages (e.g. SQL), and for implementation:
Database Management Systems, R. Ramakrishnan and J. Gehrke
3
Preliminaries
Database Management Systems, R. Ramakrishnan and J. Gehrke
4
Example Instances
R1
S1
S2
Database Management Systems, R. Ramakrishnan and J. Gehrke
5
Relational Algebra
Database Management Systems, R. Ramakrishnan and J. Gehrke
6
Projection
Database Management Systems, R. Ramakrishnan and J. Gehrke
7
Selection
Database Management Systems, R. Ramakrishnan and J. Gehrke
8
Union, Intersection, Set-Difference
Database Management Systems, R. Ramakrishnan and J. Gehrke
9
Cross-Product
Database Management Systems, R. Ramakrishnan and J. Gehrke
10
Joins
Database Management Systems, R. Ramakrishnan and J. Gehrke
11
Joins
Database Management Systems, R. Ramakrishnan and J. Gehrke
12
Division
Database Management Systems, R. Ramakrishnan and J. Gehrke
13
Examples of Division A/B
A
B1
B2
B3
A/B1
A/B2
A/B3
Database Management Systems, R. Ramakrishnan and J. Gehrke
14
Expressing A/B Using Basic Operators
Disqualified x values:
A/B:
all disqualified tuples
Database Management Systems, R. Ramakrishnan and J. Gehrke
15
Example tables
Sailors(sid: integer, sname: string, rating: integer, age: real)
Boats(bid: integer, bname: string, color: string)
Reserves(sid: integer, bid: integer, day: date)
If the key for the Reserves relation contained only
the attributes sid and bid, how would the semantics differ?
Database Management Systems, R. Ramakrishnan and J. Gehrke
16
Find names of sailors who’ve reserved boat #103
Database Management Systems, R. Ramakrishnan and J. Gehrke
17
Find names of sailors who’ve reserved a red boat
Database Management Systems, R. Ramakrishnan and J. Gehrke
18
Find sailors who’ve reserved a red or a green boat
Database Management Systems, R. Ramakrishnan and J. Gehrke
19
Find sailors who’ve reserved a red and a green boat
Database Management Systems, R. Ramakrishnan and J. Gehrke
20
Find the names of sailors who’ve reserved all boats
.....
Database Management Systems, R. Ramakrishnan and J. Gehrke
21
Summary
Database Management Systems, R. Ramakrishnan and J. Gehrke
22