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

15. Il modello relazionale Vers. 7.2 – Dicembre 2025
Come da definizione per prima cosa costruiamo la tabella R X S
R X S
CodCliente
NomeCliente
Indirizzo
CodAg
CodAgente
NomeAgente
Telefono
C001
Neri Mario
Via Po, 5
A001
A001
Verdi Luca
081-123456
C001
Neri Mario
Via Po, 5
A001
A002
Gialli Matteo
081-654321
C001
Neri Mario
Via Po, 5
A001
A003
Vito Andrea
081-456345
C002
Bianchi Gianni
Via Lima, 7
A002
A001
Verdi Luca
081-123456
C002
Bianchi Gianni
Via Lima, 7
A002
A002
Gialli Matteo
081-654321
C002
Bianchi Gianni
Via Lima, 7
A002
A003
Vito Andrea
081-456345
C003
Rossi Antonio
Via Riga, 9
A001
A001
Verdi Luca
081-123456
C003
Rossi Antonio
Via Riga, 9
A001
A002
Gialli Matteo
081-654321
C003
Rossi Antonio
Via Riga, 9
A001
A003
Vito Andrea
081-456345
C004
Russo Mario
Via Roma, 8
NULL
A001
Verdi Luca
081-123456
C004
Russo Mario
Via Roma, 8
NULL
A002
Gialli Matteo
081-654321
C004
Russo Mario
Via Roma, 8
NULL
A003
Vito Andrea
081-456345
Proseguiamo effettuando la restrizione o selezione sulla relazione ottenuta ossia σP( R X S) con P = ⎨ Cliente. CodAg = Agente. CodAgente ⎬
σP( R X S) CodCliente
NomeCliente
Indirizzo
CodAg
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
Risultato finale dell’ EQUI-JOIN Cliente �� Agente proposto è la seguente tabella:
CodAg = CodAgente
Cliente �� Agente
CodAg = CodAgente
CodCliente NomeCliente Indirizzo CodAg 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
Grado( Cliente �� Agente) = Grado( Agente) + Grado( Cliente) =( 4 + 3) = 7
CodAg = CodAgente
Card( Cliente �� Agente) = 3 che risulta essere ≤ Card( Agente) * Card( Cliente) = 12
CodAg = CodAgente
N. B. Se invece proviamo a ricavare la relazione risultato di quest’ altra operazione relazionale:
Agente �� Cliente
CodAgente = CodAg
che ha come scopo quello di mostrare, in un ' unica tabella, per ogni agente, anche le informazioni relative ai clienti gestiti, ci accorgeremmo ovviamente che essa differirà dalla tabella ottenuta in precedenza. Ricordiamo infatti che, qualunque sia il tipo di join eseguito, esso conterrà sempre anche il prodotto cartesiano tra due relazioni, che, come sappiamo, è un operatore relazionale che non gode della proprietà commutativa.
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 42