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

15 . Il modello relazionale Vers . 6.2 – Gennaio 2023
Esempio : Supponiamo che un certo fornitore possa fornire uno o più articoli ( in date e quantità differenti ) e che viceversa un certo articolo possa essere fornito da uno o più fornitori ( in date e quantità differenti )
La situazione descritta può essere schematizzata utilizzando il seguente diagramma ER :
Indirizzo PartitaIVA
CodForn
Fornitore
N
Fornisce
Fornisce
N
E ’ Fornito
CodArt
Articolo
Descrizione Prezzo
DataForn
Qta
N . B . Operando il mapping SENZA GESTIONE DELLO STORICO come visto finora si avrebbe la situazione già illustrata in precedenza :

CodForn Indirizzo PartitaIVA

Fornitore ( CodForn , Indirizzo , PartitaIVA )
Chiave primaria
F03 Via Po , 5 001234 F07 Via Bari , 5 001345 F16 Via Loi , 1 001333
Articolo ( CodArt , Descrizione , Prezzo )
Fornisce ( CodForn1 , CodArt1 , DataForn , Qta )
Chiave primaria
Prezzo
A01
Batteria
100,00
A04
Antenna
75,00
A12
Radiatore
56,00
F03
A01
01-01-2019
10
F03
A04
11-02-2019
25
Chiavi esterne
F16 F03
A04 A01
13-02-2019 14-04-2019
20 30
!!!! ERRORE !!!
Il mapping relazionale applicato in precedenza ( ossia SENZA GESTIONE DELLO STORICO ) renderebbe impossibile l ’ evento ( richiesto dal diagramma ER ) che un fornitore ( chiave F03 ) fornisca uno stesso prodotto ( chiave A01 ) in una data differente ed in quantità differenti dalle consegne già effettuate senza incorrere in una violazione del vincolo di chiave primaria ( chiave primaria duplicata )
Quindi per mantenere la correlazione tra Fornitore ed Articolo gestendo lo “ storico ” delle consegne effettuate , la nuova relazione non potrà usare le chiavi esterne alle due relazioni Fornitore ed Articolo per costruire la propria chiave primaria .
Queste ultime ovviamente devono comunque obbligatoriamente essere presenti nella nuova relazione da creare svolgendo il proprio ruolo ( ossia avere i propri valori presenti in ciascuna delle due relazioni di partenza ) ma occorrerà inserire in essa una chiave primaria “ indipendente ” da esse per distinguere le ennuple .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 15