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

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 . 6.2 – Gennaio 2023

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 . 52