Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Join
1
Join naturale
z Operatore binario
z Produce un risultato
– sull'unione degli attributi degli operandi
– con ennuple costruite ciascuna a partire da una
ennupla di ognuno degli operandi
z R1(X1), R2(X2)
z R1 ZY R2 è una relazione su X1X2
2
Impiegato Reparto Reparto Capo
Rossi A A Mori
Neri B B Bruni
Bianchi B
3
Un join vuoto
4
Cardinalità del join
5
Join esterno
Join esterno
6
Impiegati Reparti
Impiegato Reparto Reparto Capo
Rossi A B Mori
Neri B C Bruni
Bianchi B
Impiegati ZY LEFT Reparti
Impiegato Reparto Capo
Neri B Mori
Bianchi B Mori
Rossi A NULL
Impiegati Reparti
Impiegato Reparto Reparto Capo
Rossi A B Mori
Neri B C Bruni
Bianchi B
7
Impiegati Reparti
Impiegato Reparto Reparto Capo
Rossi A B Mori
Neri B C Bruni
Bianchi B
Impiegati ZY FULL Reparti
Impiegato Reparto Capo
Neri B Mori
Bianchi B Mori
Rossi A NULL
NULL C Bruni
Join e proiezioni
Impiegato Reparto Reparto Capo
Rossi A B Mori
Neri B C Bruni
Bianchi B
8
Proiezioni e join
Impiegato Reparto Capo
Neri B Mori
Bianchi B Bruni
Verdi A Bini
Impiegato Reparto Reparto Capo
Neri B B Mori
Bianchi B B Bruni
Verdi A A Bini
Impiegato Reparto Capo
Neri B Mori
Bianchi B Bruni
Neri B Bruni
Bianchi B Mori
Verdi A Bini
Join e proiezioni
z R 1(X1), R 2(X2)
πX1 (R 1 ZY R2 ) ⊆ R 1
z R(X), X = X1 ∪ X2
(π X1 (R)) ZY (π X2 (R)) ⊇ R
9
Due casi estremi
z Se X1 = X2
– l’operazione di join coincide con l’intersezione
z Se X1 ed X2 sono disgiunti
– l’operazione di join coincide con il prodotto
cartesiano
Il theta-join
z R 1 ZYF R2 = σF (R 1 ZY R2 )
z La condizione F è spesso una congiunzione (AND)
di atomi di confronto A1ϑ A2 dove ϑ è uno degli
operatori di confronto (=, >, <, …)
z Se l'operatore è sempre l'uguaglianza (=) allora si
parla di equi-join
10
Impiegati Reparti
Impiegato Reparto Codice Capo
Rossi A A Mori
Neri B B Bruni
Bianchi B
Impiegati ZYReparto=Codice Reparti
Impiegato Reparto Codice Capo
Rossi A A Mori
Rossi
Neri A
B B Bruni
Neri
Bianchi B A
B Mori
Bruni
Neri B B Bruni
Bianchi B A Mori
Bianchi B B Bruni
Impiegati Reparti
Impiegato Reparto Reparto Capo
Rossi A A Mori
Neri B B Bruni
Bianchi B
Impiegati ZY Reparti
11
Equivalenza di espressioni
12
Selezione con valori nulli: soluzione
z Quindi:
σ Età>30 (Persone) ∪ σ Età≤30 (Persone) ∪ σ Età IS NULL (Persone)
=
σ Età>30 ∨ Età≤30 ∨ Età IS NULL (Persone)
=
Persone
13
Viste (relazioni derivate)
14
Viste materializzate
Viste virtuali
z Relazioni virtuali:
– sono supportate dai DBMS (tutti)
– un’interrogazione su una vista viene eseguita
"ricalcolando" la funzione
15
Viste, esempio
Afferenza
Impiegato Reparto Direzione
Rossi A Reparto Capo
Neri B A Mori
Bianchi B B Bruni
Bianchi B B Bruni
z Una vista:
Supervisione = π Impiegato, Capo (Afferenza ZY Direzione)
16
Viste, motivazioni
17
Viste e aggiornamenti
18
Chiusura transitiva, esempio
Supervisione(Impiegato, Capo)
Chiusura transitiva
19
Chiusura transitiva, impossibile!
20