Q3-eff = ΠPartitaIVA( σCodArt1 = " A04 "( Fornitore �� Fornisce))
Q3 + eff = ΠPartitaIVA(( Fornitore �� σCodArt1 = " A04 "( Fornisce))
ΠPartitaIVA( σCodArt1 = " A04 "( Fornitore �� Fornisce)) CodForn = CodForn1
T2 = σCodArt1 = " A04 "( T1)
15. Il modello relazionale Vers. 7.2 – Dicembre 2025
B) Interrogazione di RELAZIONI derivanti da associazioni di molteplicità N: N
Aiutiamoci con un esempio Diagramma ER
Schema relazionale
CodArt
Descrizione Prezzo
Qta DataForn
CodForn Indirizzo PartitaIVA
Articolo
N
Fornisce
N Fornitore
Fornitore( CodForn, Indirizzo, PartitaIVA)
Articolo( CodArt, Descrizione, Prezzo)
Fornisce( IdFornitura, CodForn1, CodArt1, DataForn, Qta)
- con l’ attributo“ CodForn1” della relazione“ Fornisce” che è chiave esterna( FK) sull’ attributo " CodForn " della relazione " Fornitore "
- con l’ attributo“ CodArt1” della relazione“ Fornisce” che è chiave esterna( FK) sull’ attributo " CodArt " della relazione " Articolo "
QUERY n. 3: Elencare le partite IVA dei fornitori dell’ articolo avente CodArt = " A04 "
Per quanto detto prima, utilizzando gli operatori dell’ algebra relazionale, una possibile soluzione( sicuramente meno efficiente) è rappresentata dalla seguente espressione:
Q3-eff = ΠPartitaIVA( σCodArt1 = " A04 "( Fornitore �� Fornisce))
CodForn = CodForn1
La soluzione più efficiente si ottiene, come osservato in precedenza, eseguendo PRIMA la SELEZIONE e POI l’ EQUI-JOIN proposto lasciando in entrambi i casi la proiezione come operazione finale ossia:
Q3 + eff = ΠPartitaIVA(( Fornitore �� σCodArt1 = " A04 "( Fornisce))
CodForn = CodForn1
Analizziamo in dettaglio la prima interrogazione proposta ossia Q3-eff
ΠPartitaIVA( σCodArt1 = " A04 "( Fornitore �� Fornisce)) CodForn = CodForn1
Questa query risulta composta dalle seguenti tre sottointerrogazioni:
T1 = Fornitore �� Fornisce
CodForn = CodForn1
T2 = σCodArt1 = " A04 "( T1)
T3 = ΠPartitaIVA( T2)
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 53