Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Nozioni Preliminari
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Schema di Esempio
Velisti(vid:integer,vnome:string,esperienza:integer,et:real)
Barche(bid:integer,bnome:string,colore:string)
Prenotazioni(vid:integer,bid:integer,giorno:data)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Istanze di esempio
P1 sid
22
58
Relazioni Velisti e
sid
S1
Prenota per i nostri
22
esempi
Useremo la notazione
31
posizionale o a campi
58
nominati, assumeremo che i
nomi dei campi nei risultati
S2 sid
delle interrogazioni siano
28
ereditati dai nomi dei
31
campi delle relazioni in
44
ingresso dellinterrogazione
58
bid
day
101 10/10/96
103 11/12/96
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Algebra relazionale
Operazioni di base
Altre operazioni:
intersezione, join, divisione, ridenominazione: non essenziali ma
(molto!) utili
Poich ogni operazione restituisce una relazione, le operazioni
possono essere composte (lalgebra chiusa)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Proiezione
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Proiezione
S2 sid
28
31
44
58
sname
rating
yuppy
lubber
guppy
rusty
9
8
5
10
sname,rating(S2)
age
35.0
55.5
age(S2)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
Selezione
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
10
Selezione
Condizione di selezione:
Attributo OP Costante
Attributo1 OP Attributo2
OP=<,<=,=,,>=,>
Attributo specificabile per nome o per
posizione
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
11
Selezione
28
31
44
58
yuppy
lubber
guppy
rusty
9
8
5
10
35.0
55.5
35.0
35.0
rating >8(S2)
sname rating
yuppy 9
rusty
10
12
Selezione e proiezione
Sono due operatori "ortogonali"
selezione:
decomposizione orizzontale
proiezione:
decomposizione verticale
selezione
proiezione
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
13
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
14
Unione
S1
sid
22
31
58
sid
28
31
44
58
dustin
lubber
rusty
guppy
yuppy
7
8
10
5
9
45.0
55.5
35.0
35.0
35.0
S1 S2
S2
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
15
Intersezione
S1
sid
22
31
58
sid
28
31
44
58
sid sname
31 lubber
58 rusty
rating age
8
55.5
10
35.0
S1 S2
S2
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
16
Differenza
S1
sid
22
31
58
sid
28
31
44
58
sid sname
22 dustin
rating age
7
45.0
S1 S2
S2
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
17
Prodotto cartesiano
S1
sid
22
31
58
P1
sid bid
day
22 101 10/10/96
58 103 11/12/96
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
18
Prodotto cartesiano
(sid) sname rating age
22
dustin
45.0
22
101 10/10/96
22
dustin
45.0
58
103 11/12/96
31
lubber
55.5
22
101 10/10/96
31
lubber
55.5
58
103 11/12/96
58
rusty
10
35.0
22
101 10/10/96
58
rusty
10
35.0
58
103 11/12/96
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
19
(R(F),E)
E espressione dellalgebra relazionale
R istanza di nuova relazione
F lista di ridenominazione
(C(1 sid1, 5 sid2), V1 P1)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
20
Join
Molto usato, permette di correlare dati in
relazioni diverse
Pu essere ottenuto da un prodotto cartesiano
seguito da selezioni e proiezioni
Molte varianti delloperazione di join
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
21
Join condizionale
Join
condizionale: P c S = s c(P S)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
22
Join condizionale
S1
sid
22
31
58
P1
(sid)
22
31
sname
dustin
lubber
rating age
7
45.0
8
55.5
S1 ><
sid bid
day
22 101 10/10/96
58 103 11/12/96
(sid)
58
58
bid
103
103
day
11/12/96
11/12/96
R1
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
23
Equi-Join
sid
22
58
sname
dustin
rusty
rating age
7
45.0
10
35.0
S1 ><
sid
bid
101
103
day
10/10/96
11/12/96
R1
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
24
Divisione
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
25
pno
p1
p2
p3
p4
p1
p2
p2
p2
p4
pno
p2
B1
pno
p2
p4
B2
pno
p1
p2
p4
B3
sno
s1
s2
s3
s4
sno
s1
s4
sno
s1
A/B1
A/B2
A/B3
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
26
Valori x interdetti :
A/B:
x ( A)
x (( x ( A) B) A)
Tutte le tuple interdette
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
27
Soluzione 1:
Soluzione 2:
sname((
bid =103
(Temp1,
bid = 103
Re serves)
sname (Temp2)
Soluzione 3:
sname (
bid =103
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
28
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
29
(Tempboats , (
Boats ))
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
30
(Tempred,
sid
(Tempgreen,
((
sid
((
31
(Tempsids, (
sid, bid
Re serves) / (
bid
Boats))
bid
Boats)
T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Universit di Roma
32