15. Il modello relazionale Vers. 7.2 – Dicembre 2025
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
CodArt |
Descrizione |
Prezzo |
A01 |
Batteria |
100,00 |
A04 |
Antenna |
75,00 |
A12 |
Radiatore |
56,00 |
|
CodForn1 |
CodArt1 |
DataForn |
Qta |
|
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