PROGETTAZIONE DEL DATABASE PER IL MAGAZZINO VIRTUALE

LA NORMALIZZAZIONE

Una volta finito il passaggio allo schema relazionale, si effettua una specie di "controllo di qualità" della progettazione logica, tramite lo studi di alcune proprietà dette forme normali.
Per quegli schemi che non soddisfano le forme normali si effettua la normalizzazione, che consente di ottenere la qualità voluta.
Inoltre, le metodologie di progettazione che si è adottate finora, permettono di solito di ottenere schemi che soddisfino le formi di normali.
Perciò questo passaggio è più una verifica che non un vero e proprio passaggio di normalizzazione.

Le ridondanze e le anomalie sono state studiate attraversale cosiddette dipendenze funzionali, ovvero un legame di tipo funzionale tra gli attributi di una relazione. Queste dipendenze funzionali permettono la presenza di tuple tra loro uguali sugli attributi. Sia data una relazione r su di uno schema R(X) e due sottoinsiemi di attributi non vuoti Y e Z di X , diremo che esiste su r una dipendenza funzionale tra Y e Z se , per ogni coppia di tuple t1 e t2 di r aventi gli stessi valori sugli attributi Y, risulta che t1 e t2 hanno stessi valori anche sugli attributi di Z.
La forma normale presa come riferimento in questo lavoro è la Forma Normale di Boyce e Codd : ovvero una relazione r è in questa forma se, per ogni dipendenza funzionale non banale X ? Y definita su di essa, X contiene una chiave K di r, cioè X è superchiave per r, ovvero permette di identificare tutte le tuple separatamente.

La prima relazione che si analizza è:

MAGAZZINO (ID_Magazzino, Sede, Posizione GPS, Proprietario)

Esisterebbe una dipendenza funzionale tra Sede e Proprietario, perché è possibile che lo stesso proprietario possa avere più magazzini nella stessa sede, e se lo stesso proprietario avesse come vincolo quello di avere magazzini solo nella stessa sede (ad esempio zona industriale). Per evitare questa dipendenza bisogna stare attenti al significato che si dà al termine "Sede".

La seconda è :

BOLLA ( ID_Bolla, ID_Magazzino_Cedente, ID_Prodotto, Des_prod, Quantitativo, ID_Trasp, Data_Richiesta, Data_Consegna)

Sussisterebbe una dipendenza funzionale tra ID_Prodotto ed ID_Trasp, se i trasportatori fossero adibiti a portare sempre la stessa tipologia di prodotto. Potrebbe succedere, ma data la tipologia di prodotti trasportati nei Distretti, questa è una ipotesi difficile, anche se non impossibile.
Da quanto si è visto, la progettazione precedente ha dato già i risultati sperati, ed i casi di dipendenze funzionali non banali sono alquanto remoti.

LA PROGETTAZIONE FISICA

Una volta terminate le due fasi precedenti, si passa alla progettazione fisica, ovvero si scelgono i software specifici, l'architettura hardware su cui implementare il lavoro e le caratteristiche fisiche che permettano di gestire al meglio il DB.
Questa fase è però imprescindibile dal caso reale, ovvero è strettamente necessario conoscere il numero di utenti, il volume degli accessi, i dati più utilizzati; senza contare che le diverse architetture hanno diversi costi di investimento e di mantenimento.

L'unica parte che si può portare a termine in questa fase, a titolo esplicativo, è la scelta del software e la creazione del database vero e proprio tramite lo stesso.
Riferendosi al caso del Progetto di Magazzino Virtuale, l'applicativo scelto è Microsoft SQL Server 2000 (Trial Version), facilmente reperibile sul mercato data la sua elevata diffusione.
La prima fase è stata quella della creazione delle tabelle dalle relazioni precedentemente create.

Ad esempio, la tabella "Magazzino che richiede", aveva forma relazionale
MAGAZZINO (ID_Magazzino, Sede, Posizione GPS, Proprietario)


Ogni singola tabella verrà definita in maniera automatica, partendo da un codice SQL standard che lo stesso SQL Server genera.

Le tabelle a loro volta avranno delle colonne i cui titoli corrispondono agli attributi che si è assegnati nelle relazioni.
Questi attributi avranno una loro forma particolare, caratteristica della tipologia con cui dovranno essere rappresentati.

Ad esempio si è scelto di identificare il magazzino con un codice di tipo decimale con precisione, ovvero numero massimo di cifre decimali utilizzate nella rappresentazione di quel valore, massimo dieci.
Inoltre non è permesso il valore NULL, anche perché ID_Magazzino è chiave primaria della relazione.
Si effettua questo passaggio per ogni relazione.

Alla fine di questa fase si introducono le relazioni tra tabelle.
Ad esempio, il magazzino richiedente emette una richiesta del materiale mancante, e questa azione è rappresentabile tramite una relazione, ovvero "Richiesta Materiale".

La relazione è possibile per il legame esistente tra ID_Mag_Rich ed ID_Magazzino.

Il quadro completo è quello che segue:

Una volta poste le relazioni, il lavoro base è fatto.
E' possibile effettuare altri passaggi per affinare e personalizzare l'uso del database.
Ad esempio si possono (od in alcuni casi si devono) introdurre i vincoli di CHECK, che permettono di garantire l'integrità dei dati.
Una operazione caratteristica, molto utilizzata in questo database è quello sulla lunghezza minima e massima dei valori presenti nelle occorrenze.

Ad esempio, è importante avere un valore univoco di lunghezza per identificare i codici dei prodotti:

LEN (ID_Prodotto) = 6.

Altri valori rispettati in tutte le tabelle sono (a carattere del tutto indicativo):
Attributo Lunghezza
Codice Prodotto 6
Codice Magazzino 4
Codice Trasportatore 6
Codice Richiesta 10
Codice Bolla 10
Codice Percorso 6

E devono essere rispettati quando vengono inseriti, altrimenti danno vita a valori non validi, e non è permessa l'immissione dell'occorrenza.

Su questa base di dati è possibile eseguire moltissime operazioni, dall'inserimento alla cancellazione, dalla ricerca incrociata alla modifica.
E' possibile creare delle procedure, delle funzioni utente, tutto per una gestione ottimale della stessa.

Ma tutto questo permette di gestire dati e valori operativi, ovvero attuali; essi sono relativamente poco importanti per fornire un vero e proprio aiuto ad un sistema di supporto alle decisioni.
Tutto questo verrà fornito tramite i mezzi della Business Intelligence e del Datawarehouse, che pongono comunque le loro basi nel database appena creato.

 


Top| Sommario| << Precedente | Successiva >>
>> Home Page www.warehouseweb.it <<