15 . Il modello relazionale Vers . 6.2 – Gennaio 2023
Aiutiamoci con un esempio Diagramma ER
Schema relazionale
CodArt
Descrizione Prezzo
Qta DataForn
CodForn Indirizzo PartitaIVA
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