Sei sulla pagina 1di 4

Legenda:

→ verde: i nomi delle tabelle


→ blu: i nomi dei parametri

Relazione

I buoni d’ordine rappresentano un blocco di ordinazioni effettuate dal centro di


distribuzione, sono memorizzati nella tabella BuoniOrdine, e sono identificati dalla
chiave codiceBuonoOrdine, di tipo intero, e ha un campo per memorizzare la consegna
prevista degli ordini (consegnaPrevista).
In Ordinazioni sono memorizzate tutte le ordinazioni effettuate, identificate da
codiceOrdinazione, ogni ordinazione fa riferimento con buonoOrdine al buono d’ordine
relativo a cui appartengono (più ordinazioni appartenenti allo stesso buono d’ordine
avranno questo campo uguale tra loro), e con fornitore al fornitore al quale è stato
effettuato l’ordine.
Nella tabella Fornitori ci sono tutti i fornitori d’interesse per il centro, ai quali può
effettuare ordini; sono distinti dalla partita iva (p_iva), e hanno un nome(nome), un
numero di telefono (telefono) e un indirizzo della sede (indirizzo).
Ciascun fornitore produrra o distribuira delle merci, di queste si mantiene traccia in
MerciMagazzinoFornitore, la cui chiave primaria è costituita dalla merce e dal
proprietario (riferimento a Fornitori) della merce, inoltre possiede anche il prezzo a cui
il fornitore vende ciascuna merce (prezzoListino).
Nel database sono salvate tutte le Merci con cui il centro di distribuzione entra in
contatto. codiceMerci è l’identificativo univoco delle merci, di tipo intero, stesso
prodotto di fornitori diversi, avra stesso identificativo. Inoltre ha dei campi per la
tipologia, la descrizione e la marca della merce.
MerciOrdinate crea un’associazione tra una Ordinazione e le Merci con essa ordinate, le
prime tramite la chiave esterna ordinazione e le seconde con la chiave esterna merce,
che assieme costituiscono la chiave primaria per MerciOrdinate. Un’ordinazione relativa
a più merci vedra una ennupla di MerciOrdinate per ogni merce differente, ognuna di
queste ennuple avra uguale ordinazione. Questa tabella contiene anche la quantita
ordinata di ogni merce, e lo scontoPercentuale unitario accordato con il fornitore.
Nel momento in cui una MerceOrdinata viene consegnata al centro, verra memorizzata
in MerciConsegnate, con una chiave esterna alla merce ordinata, costituita da
idMerceOrdinata e ordinazione (chiave esterna alla chiave primaria costituita da merce e
ordinazione di MerciOrdinate). Inoltre nel centro di distribuzione viene attribuito un
nuovo codice univoco (idMerce) alla merce ricevuta, questo per avere una distinzione più
efficiente delle varie merci (invece di utilizzare due parametri). Viene memorizzata
anche la data di ricezione in ricezione e il prezzo a cui è stata acquistato il blocco di
merce considerando anche lo sconto applicato in prezzoAcquisto.
In MerciSpermercati vengono memorizzati gli idMerce delle merci che vengono
inoltrate direttamente ai supermercati. Quelle che non vengono inoltrate ai
supermercati vengono
1
stoccate in magazzino, verra quindi memorizzato in MerciMagazzino il loro idMerce,
assieme ad una chiave esterna (scaffale) allo scaffale Scaffali su cui vengono riposte.
Le bolle di consegna per le merci da inviare ai supermercati sono nella tabella
BolleConsegna, sono identificate da una stringa codiceBolla e avra una data di
spedizione della merce (dataSpedizione). Le chiavi esterne sono merceDaSpedire
riferimento a MerciSupermercato e indica i prodotti da spedire, responsabileConsegna
riferimento a Camionisti e conterra il codice fiscale del camionista che si occupera della
spedizione, e destinazione riferimento a Supermercati con la partita iva del
destinatario.
Supermercati contiene la chiave p_iva, partita iva del supermercato, il nome e
l’indirizzo di ogni supermercato di interesse per il centro di distribuzione.
In Camionisti sono salvati tutti i camionisti del centro di distribuzione, distinti dal loro
codiceFiscale e di cui sono salvati il nome e il veicolo in dotazione corrente
(veicoloInDotazione), chiave esterna ai Veicoli del centro di distribuzione.
Il database è stato ideato per poter essere utilizzato anche da una grossa ditta di
distribuzione merci, che può anche possedere vari centri di distribuzione disposti in
posti diversi. I vari centri sono quindi memorizzati nella tabella CentriDiDistribuzione e
sono identificati dall’indirizzo del centro (indirizzo), ed è memorizzato anche l’eventuale
nome della sede (nome).
Ogni centro di distribuzione può contenere vari MagazziniMerci e vari
MagazziniRicambi. Ogni magazzino è distinto dagli altri dello stesso tipo da un
identificativo idCapanno, costituito da un unico carattere. Inoltre queste tabelle hanno un
riferimento esterno al centro di distribuzione a cui appartengono (centroDiDistribuzione
riferimento ad indirizzo in CentriDiDistribuzione); questi due campi assieme costituiscono
la chiave primaria dei magazzini, sono necessari entrambi in modo da permettere a
magazzini di centri di distribuzione differenti di poter avere stesso identificativo.
All’interno dei MagazziniMerci sono distribuiti vari scaffali, rappresentati dalla tabella
Scaffali, che contiene il codice dello scaffale codiceScaffale, e un riferimento alla chiave
primaria del magazzino merci nel quale lo scaffale si trova (idCapanno e
centroDiDistribuzione riferimenti alle chiavi primarie omonime in MagazziniMerci).
Inoltre codiceScaffale e centroDiDistribuzione sono chiavi primarie per Scaffali, il che
significa che possono esserci scaffali con lo stesso codice in centri di distribuzione
diversi, ma non in magazzini diversi nello stesso centro di distribuzione.
I magazzini ricambi dei centri di distribuzione sono dedicati ad immagazzinare i ricambi
destinati ai veicoli della ditta. I vari ricambi sono memorizzati nella tabella Ricambi,
sono distinti tra loro da un identificativo di tipo intero id, e la tabella include una
descrizione del ricambio (descrizione), il suo costo unitario(costoUnitario), la quantita
presente nello stock (giacenza), la scorta minima di quel prodotto (scortaMinima),
sotto la quale bisogna provvedere ad eseguire un ordine di restock, possiede anche un
campo quantitaOrdineRestock con valore nullo se la giacenza è superiore alla
scortaMinima, ma in caso contrario indichera la quantita di quel componente da
ordinare, e questa quantita sara obbligatoriamente maggiore della differenza tra la
2
scortaMinima e la giacenza.
Infine c’è un riferimento al magazzino ricambi nel quale si trova il componente idCapanno e
centroDiDistribuzione sono il riferimento a MagazziniRicambi e indica in quale capanno di quale
centro di distribuzione si trova quello specifico ricambio Per semplicita, ricambi dello stesso
tipo, ma che si trovano in centri di distribuzione differenti, avranno anche id differenti, così da
poter usare una chiave composta da un unico elemento invece di dover usare una chiave
primaria composta da id e centroDiDistribuzione.
Il database terra conto anche delle varie revisioni che verranno effettuate nell’officina
del centro di ditstribuzione, e verranno memorizzate nella tabella Revisioni, sono
differenziate da un intero (idRevisione), contengono un riferimento al veicolo
revisionato attraverso il suo numero di telaio (veicoloRevisionato), viene memorizzata
la data d’inizio (inizio) e quella di fine (fine) della revisione, quest’ultima può assumere
valore nullo se la revisione è ancora in corso.
Le revisioni possono essere Ordinarie oppure Straordinarie. Condividono idRevisione
con la Revisione madre, però contengono parametri differenti: le revisioni ordinarie
memorizzano anche la tipologia di revisione, l’intervallo kilometrico (intervalloKm) al
quale viene effettuato quel tipo di revisione (es. intervalloKm=1000, significa che quel
tipo di revisione viene effettuata ogni 1000 km), e il valore del contakilometri del veicolo
revisionato al momento della revisione (contatoreKilometrico); le revisioni
straordinarie invece memorizzano il motivo per cui è stata effettuata quella revisione
non prevista (motivo).
Se il veicolo revisionato supera la revisione, allora viene rilasciato il tagliando relativo
alla verifica superata. I Tagliandi hanno un campo revisione che fa riferimento a
idRevisione della revisione ordinaria a cui appartiene, e questo campo, insieme al
campo tipologiaValidita, costituiscono la chiave primaria di Tagliandi. Il campo
tipologiaValidita è necessario dal momento che ad una singola revisione possono
essere accorpati anche più tagliandi, uno per ogni validita superata, questo parametro
va proprio a identificare la validita superata.
In una revisione può capitare che vengano utilizzati alcuni ricambi, qui entra in gioco la
tabella RicambiUtilizzati, che crea una relazione tra la revisione e i ricambi utilizzati.
Nel momento in cui durante una revisione si decide di prendere un certo ricambio, viene
aggiunta una ennupla a questa tabella, con il riferimento alla revisione in questione
(utilizzatoInRevisione), al ricambio utilizzato (ricambio) e alla quantita utilizzata
(quantita). La chiave per questa tabella è costituita dalla combinazione delle due chiavi
esterne. Se in una revisione vengono utilizzati più ricambi differenti, allora ci saranno
vari membri di questa tabella con uguale campo utilizzatoInRevisione.
Il database dedica anche una tabella per memorizzare tutti i veicoli nel parco
automezzi del centro di distribuzione, la tabella Veicoli. I veicoli sono distinti dal loro
numero di telaio (numeroTelaio), e sono memorizzati anche il costruttore, la capacita di
carico (capacita) espressa in tonnellate e la patente necessaria per poterlo guidare.
In una tabella a parte chiamata DatiLogistici sono memorizzati tutti i dati secondari
relativi ad un veicolo quali il suo contatore chilometrico (contaKm), la sua data di
immatricolazione (immatricolazione) e la data della prossima revisione prevista
3
(prossimaRevisione). La chiave di questa tabella è la chiave esterna veicolo che fa
riferimento a numeroTelaio del veicolo al quale appartengono i dati logistici.
Sono memorizzati anche i Meccanici impiegati nel centro di distribuzione, dei quali
interessa solo il nome (nome) e il numero di telefono (telefono), ragion per cui è
stata presa la decisione di identificare i meccanici attraverso il numero di telefono,
essendo questo unico.
Ogni meccanico può avere delle competenze su vari veicoli. Queste competenze
vengono gestite da Competenze, che mette in corrispondenza un meccanico (meccanico
riferimento a telefono in Meccanici) con il veicolo su cui ha le competenze
(competenzeSuVeicolo riferimento a numeroTelaio in Veicoli). Questi due parametri
oltre a essere chiavi esterne costituiscono anche la chiave primaria per Competenze.
La tabella Associazioni invece gestisce la relazione tra un veicoli e i meccanici addetti
allo stesso. Infatti la tabella possiede un riferimento veicolo (riferimento a
numeroTelaio in Veicoli) del veicolo interessato, e un riferimento meccanico (riferimento
a telefono in Meccanici) al meccanico addetto. Queste chiave esterne fanno parte
anche della chiave primaria.
Ad ogni revisione lavorera uno o più meccanici, e per gestire ciò si deve sfruttare la
tabella Incarichi, che associa una revisione al meccanico che se ne occupa,
rispettivamente attraverso le chiavi esterne revisione (riferimento ad idRevisione in
Revisioni) e meccanico(riferimento a telefono in Meccanici).

Potrebbero piacerti anche