5° Anno TEORIA 3. Un modello logico: il modello relazionale | Page 46

15. Il modello relazionale Vers. 7.2 – Dicembre 2025
Applicando l’ operatore di FULL OUTER JOIN o Full join si ottiene la seguente tabella
E
Cliente �� Agente
CodAg = CodAgente
CodCliente NomeCliente Indirizzo R. CodAgente S. CodAgente NomeAgente Telefono
C001
Neri Mario
Via Po, 5
A001
A001
Verdi Luca
081-123456
C002
Bianchi Gianni
Via Lima, 7
A002
A002
Gialli Matteo
081-654321
C003
Rossi Antonio
Via Riga, 9
A001
A001
Verdi Luca
081-123456
C004
Russo Mario
Via Roma, 8 NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
A003
Vito Andrea 081-456345
Esempio: SELF-( EQUI)-JOIN
Consideriamo invece la seguente relazione: R = Dipendente
R CodDip Cognome
Nome
Indirizzo
CodDir
D001
Baracco
Michele
Via Po, 5
D002
D002
Battistina
Marina
Via Adda, 7
NULL
D003
Bessone
Fabia
Via Adige, 8
D002
D004
Genchi
Mario
Via Tevere, 4
D003
Grado( R) = 5 Card( R) = 4
Supponendo di voler ottenere l’ elenco dei dipendenti con associati i dati del rispettivo dirigente, è possibile impostare l’ interrogazione mediante l’ operazione di self join ossia un equi join sulla medesima relazione:
T1 =( R �� R) ossia( Dipendente �� Dipendente) che equivale a σ CodDip = CodDir( R X R)
R. A = R. B
CodDip = CodDir
La sintesi della procedura è rappresentata dalla seguente relazione:
R X R
CodDip Cognome
Nome
Indirizzo
CodDir CodDip Cognome
Nome
Indirizzo
CodDir
D001
Baracco
Michele
Via Po, 5
D002
D001
Baracco
Michele
Via Po, 5
D002
D001
Baracco
Michele
Via Po, 5
D002
D002 Battistina
Marina
Via Adda, 7
NULL
D001
Baracco
Michele
Via Po, 5
D002
D003
Bessone
Fabia
Via Adige, 8
D002
D001
Baracco
Michele
Via Po, 5
D002
D004
Genchi
Mario
Via Tevere, 4
D003
D002
Battistin
Marina
Via Adda, 7
NULL
D001
Baracco
Michele
Via Po, 5
D002
D002
Battistin
Marina
Via Adda, 7
NULL
D002
Battistina
Marina
Via Adda, 7
NULL
D002
Battistin
Marina
Via Adda, 7
NULL
D003
Bessone
Fabia
Via Adige, 8
D002
D002
Battistin
Marina
Via Adda, 7
NULL
D004
Genchi
Mario
Via Tevere, 4
D003
D003
Bessone
Fabia
Via Adige, 8
D002
D001
Baracco
Michele
Via Po, 5
D002
D003
Bessone
Fabia
Via Adige, 8
D002
D002 Battistina
Marina
Via Adda, 7
NULL
D003
Bessone
Fabia
Via Adige, 8
D002
D003
Bessone
Fabia
Via Adige, 8
D002
D003
Bessone
Fabia
Via Adige, 8
D002
D004
Genchi
Mario
Via Tevere, 4
D003
D004
Genchi
Mario
Via Tevere, 4
D003
D001
Baracco
Michele
Via Po, 5
D002
D004
Genchi
Mario
Via Tevere, 4
D003
D002
Battistina
Marina
Via Adda, 7
NULL
D004
Genchi
Mario
Via Tevere, 4 D003
D003
Bessone
Fabia
Via Adige, 8
D002
D004
Genchi
Mario
Via Tevere, 4
D003
D004
Genchi
Mario
Via Tevere, 4
D003
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 46