Escolar Documentos
Profissional Documentos
Cultura Documentos
others
Example
with
has the two
MVD
tuples:
!
!
. If
MVD Rules
1. Every FD is an MVD.
3 Because if X ! Y , then swapping Y 's
between tuples that agree on X doesn't
create new tuples.
3 Example, in Drinkers: name ! addr.
!
2. Complementation: if X ! Y , then X ! Z ,
!
!
where Z is all attributes not in X or Y .
3 Example: since name ! phones
!
holds in Drinkers, so does
name ! addr beersLiked.
!
name
Sue
Sue
Sue
Sue
areaCode
650
650
415
415
name
name
phones
555-1111
555-1111
555-9999
555-9999
BeersLiked
Bud
WickedAle
Bud
WickedAle
beerManf
A.B.
Pete's
A.B.
Pete's
4NF
Example
Drinkersname, addr, phones, beersLiked
!
!
name
beersLiked
! phones and
!
Relational Algebra
Selection
R1 =
C R2
Example
Relation Sells:
bar
Joe's
Joe's
Sue's
Sue's
JoeMenu =
beer
Bud
Miller
Bud
Coors
bar=Joe s Sells
price
2.50
2.75
2.50
3.00
bar
Joe's
Joe's
beer
Bud
Miller
price
2.50
2.75
Projection
R1 = L R2
Example
beer;price Sells
price
2.50
2.75
3.00
beer
Bud
Miller
Coors
Product
R = R1 R2
pairs each tuple t1 of R1 with each tuple t2 of R2
and puts in R a tuple t1 t2 .
Theta-Join
R = R1 . R2
C
is equivalent to R = C R1 R2 .
10
Example
Sells
Bars
bar
Joe's
Joe's
Sue's
Sue's
name
Joe's
Sue's
BarInfo = Sells
bar
Joe's
Joe's
Sue's
Sue's
beer
Bud
Miller
Bud
Coors
beer
Bud
Miller
Bud
Coors
price
2.50
2.75
2.50
3.00
addr
Maple St.
River Rd.
Sells:Bar=Bars:Name
price
2.50
2.75
2.50
3.00
11
name
Joe's
Joe's
Sue's
Sue's
Bars
addr
Maple St.
Maple St.
River Rd.
River Rd.
Natural Join
R = R1 . R2
calls for the theta-join of R1 and R2 with the
Example
bar
Joe's
Joe's
Sue's
Sue's
Bars
beer
Bud
Miller
Bud
Coors
price
2.50
2.75
2.50
3.00
12
addr
Maple St.
Maple St.
River Rd.
River Rd.
Renaming
Example
Bars
name
Joe's
Sue's
Rbar;addr Bars =
bar
Joe's
Sue's
addr
Maple St.
River Rd.
addr
Maple St.
River Rd.
13
Combining Operations
Algebra =
1. Basis arguments +
2. Ways of constructing expressions.
For relational algebra:
1. Arguments = variables standing for relations
+ nite, constant relations.
2. Expressions constructed by applying one of
the operators + parentheses.
Query = expression of relational algebra.
14
Operator Precedence
Example
Group R
S . T as R S . T .
15
16
Example
Rname
name
bar
addr=MapleSt:
price
Bars
$3
AND beer=Bud
Sells
17
Example
bar
beer=beer1
6
.
Sbar;beer1;price
Sells
Sells
18
Example
19
20
Example
R=
name addr
beersLiked manf favoriteBeer
Janeway Voyager Bud
A.B. WickedAle
Janeway Voyager WickedAle Pete's WickedAle
A.B. Bud
Spock Enterprise Bud
Recall we decomposed this relation as:
R
Drinkers1
Drinkers2
Drinkers3
21
Drinkers4
22
Reconstruction of Original
Example
=
beersLiked
name
Janeway Bud
Janeway WickedAle
Spock
Bud
Drinkers3
Drinkers4
manf
A.B.
Pete's
A.B.
23
Theorem
24