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

ΠCognome, Nome( Studente �� σNomeScuola =“ ISIS G. Tassinari”( Scuola)) CodScuola1 = CodScuola 3 °
la prima interrogazione: T1 = σNomeScuola =“ ISIS G. Tassinari”( Scuola)
T1 = σNomeScuola = " ISIS G. Tassinari "( Scuola) Otterremo la seguente tabella
15. Il modello relazionale Vers. 7.2 – Dicembre 2025
Domanda: sarebbe stato possibile eseguire la query 2 in un modo più efficiente, ossia minimizzando il numero di n-ple coinvolte per la sua risoluzione?
Questo quesito si pone ogni qualvolta ci troviamo ad eseguire PRIMA un EQUI-JOIN e POI una SELEZIONE sul risultato ottenuto.
Cosa avverrebbe se eseguissimo uno scambio di posizione tra le due operazioni da effettuare ossia eseguissimo PRIMA la SELEZIONE per POI eseguire l’ EQUI-JOIN? Ossia:
1) Eseguiamo una SELEZIONE sulla relazione Scuola con condizione NomeScuola =“ ISIS G. Tassinari”. 2) Poi eseguiamo un EQUI-JOIN tra la relazione Studente e quella appena ottenuta uguagliando i valori della chiave esterna CodScuola1( sulla relazione Studente) con quelli della chiave primaria CodScuola( della relazione Scuola). 3) Successivamente operiamo una proiezione( taglio verticale) rispetto agli attributi scelti Studente. Cognome, Studente. Nome.
2 ° 1 °

ΠCognome, Nome( Studente �� σNomeScuola =“ ISIS G. Tassinari”( Scuola)) CodScuola1 = CodScuola 3 °

Anche questa interrogazione può essere quindi vista come una interrogazione composta da tre interrogazioni( due elementari ed una derivata) ossia:

la prima interrogazione: T1 = σNomeScuola =“ ISIS G. Tassinari”( Scuola)

la seconda interrogazione: T2 =( Studente �� T1)
CodScuola1 = CodScuola
la terza interrogazione: T3 = ΠCognome, Nome( T2)
Allora eseguiamo innanzitutto la prima operazione relazionale prevista:

T1 = σNomeScuola = " ISIS G. Tassinari "( Scuola) Otterremo la seguente tabella

T1 CodScuola NomeScuola NATF091011
ISIS G. Tassinari
Indirizzo Via Fasano, 78
Eseguiamo poi la seconda operazione relazionale prevista
T2 =( Studente �� T1)
CodScuola1 = CodScuola
Tale operazione come ricordiamo, risulta essere un’ operazione derivata che da come risultato una tabella le cui n-ple si ottengono dal seguente procedimento:
a) prima di tutto dobbiamo eseguire il prodotto cartesiano delle relazioni Studente e T1
Studente X T1
Matricola
Cognome
Nome
M001
Rossi
Paolo
CodScuola1 NATF091011
CodScuola NATF091011
NomeScuola ISIS G. Tassinari
Indirizzo Via Fasano, 78
M002 Bianchi Aldo
NATF091011
NATF091011
ISIS G. Tassinari
Via Fasano, 78
M003
Verdi
Ada
M004
Neri
Maria
NAXX123456 NAXX123456
NATF091011 NATF091011
ISIS G. Tassinari ISIS G. Tassinari
Via Fasano, 78 Via Roma, 144
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 51