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

15 . Il modello relazionale Vers . 6.2 – Gennaio 2023
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
Verdi Luca
081-123456
Bianchi Gianni
Via Lima , 7
A002
A002
Gialli Matteo
081-654321
C003
Rossi Antonio
Via Riga , 9
A001
Verdi Luca
081-123456
C004
Russo Mario
Via Roma , 8 NULL
NULL
NULL
NULL
NULL
NULL
NULL
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
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
Battistin
Marina
Via Adda , 7
NULL
D001
Baracco
Michele
Via Po , 5
D002
Battistin
Marina
Via Adda , 7
NULL
Battistina
Marina
Via Adda , 7
NULL
Battistin
Marina
Via Adda , 7
NULL
D003
Bessone
Fabia
Via Adige , 8
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
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 . 45