Andrea Bulgarelli's Home Page

Home ] Profilo ] Analisi&Design ] Programmazione ] Pubblicazioni ]

 

Su
Premessa
Specifiche
Database
DFD
Use Case Diagram
Architettura di massima
Abbreviazioni
 

2. Progettazione del database

In questo capitolo è riportata la progettazione del database che sta alla base del sito Web del progetto VAMP.

 

2.1          Schema E/R di massima

Figura 2: schema E/R di massima


2.2          Schema logico

Nel presente schema logico sono descritte le tabelle realizzate nel database e i relativi vincoli.

2.2.1         Tabelle di supporto

sup_Dispositivo_Comunic(cod, des)

            Nessuno, Telefono, Fax, PC+Modem

sup_Tipo_Utente(cod, des)

Privato, Impresa, PA

sup_Tipo_Utente_Legge(cod, des)

           

1 Raccoglitore/trasportatore

2 Commerciante/Intermediario

3 Recuperatore

4 Smaltitore

5 Produttore

6 Produttore RSU e assimilati

7 Gestore RSU e assimilati

 

Codice_ISTAT(Cod_ISTAT, Descrizione)

      

2.2.2        Utenti

Utente(Cod_Utente, Tipo_Utente, Ragione_Sociale, Partita_IVA, Nome, Cognome, CF, Via_NC, CAP, cod_place, Telefono, Fax, email, Note, username, password)

FK: Tipo_Utente REFERENCES sup_Tipo_Utente

FK: cod_place REFERENCES Place

Vincoli: è necessario che solo alcuni dei campi sopra siano riempiti (in base al tipo di utente). Ad esempio, se un utente è un privato, non è possibile specificare la ragione sociale o la partita IVA.

Con questa struttura è invece immediato imporre il vincolo che un sito appartenga ad un solo utente. Infatti nella tabella Sito è sufficiente specificare il codice dell’utente.

Con la seguente tabella si elencano le categorie legislative alle quali appartiene l’utente

Tipo_Utente_Legge(Cod_Utente, Cod_Tipo_Utente_Legge)

FK: Cod_Utente REFERENCES Utente

FK: cod REFERENCES sup_Tipo_Utente_Legge

 

Attivita_ISTAT(Cod_Utente, cod_ISTAT)

FK: Cod_Utente REFERENCES Utente

FK: cod_ISTAT REFERENCES Codice_ISTAT

2.2.3        Caratterizzazione siti

Sito(Cod_Sito, Cod_Utente, Denominazione_Sito, Via_NC, cod_place, Telefono, Fax, email, Cellulare, Note, Trasporto_in_proprio, Data_Comunic_Albo, Come_Ragione_Sociale, Referente, Disp_Sito, Dispositivo_Comuninic)

FK: Cod_Utente REFERENCES Utente

FK: cod_place REFERENCES Place

FK: Dispositivo_Comunic REFERENCES sup_Dispositivo_Comunic

 

Referente indica il referente del sito.

Con Disp_Sito si specificano eventuali regole di accesso al sito, come gli orari di apertura. E’ un semplice text.

Nelle seguenti tabelle sono indicati i tipi di impianti di trattamento fissi o mobili che possono essere presenti in un sito:

 

sup_Tipo_Impianto_Mobile(cod, des)

 

sup_Tipo_Impianto_Fisso(cod, des)

 

Si vuole ora descrivere quali impianti sono presenti in un sito. Si è creata una chiave primaria non costituita dalle chiavi importate: in caso contrario, non sarebbe stato possibile specificare che un sito può avere più impianti dello stesso tipo.

 

Impianto_Mobile(Cod_IM, Cod_Sito, Cod_TIM, Descrizione)

FK: Cod_Sito REFERENCES Sito

FK: Cod_TIM REFERENCCES sup_Tipo_Impianto_Mobile

 

Impianto_Fisso(Cod_IF, Cod_Sito, Cod_TIF, Descrizione)

FK: Cod_Sito REFERENCES Sito

FK: Cod_TIF REFERENCCES sup_Tipo_Impianto_Fisso

 

Ogni impianto fisso può recuperare rifiuti di un certo tipo in determinate quantità:

 

Rifiuti_Recuperati_Da_Impianto_Fisso(Cod_IF, Cod_R, Capacita_Recupero, Note)

FK: Cod_IF REFERENCCES Impianto_Fisso

FK: Cod_R REFERENCCES Rifiuto

 

2.2.4        Merci

Rifiuto(Cod_R, Denominazione, UM, Pred)

FK: Pred REFERENCES Rifiuto

 

2.2.5        Attività

Tipo_Attivita(Cod_TA, Descrizione, Impatto_Ambientale)

 

Un sito può avere una o più attività, anche dello stesso tipo:

Attivita(Cod_Sito, Cod_TA, Progr_A, Cod_A, Descrizione, time_to, time_from)

AK: Cod_A

FK: Cod_TA REFERENCES Tipo_Attivita

DD:

time_from: data a partire dal quale l’attività è considerata di interesse (è attiva). Se time_from = NULL allora l’attività è sempre valida.

time_to: data che indica il termine dell’attività. Quando Now > time_to è necessario eliminare l’attività in modo automatico. Se time_to = NULL l’attività è sempre valida

 

Le attività trattano dei rifiuti:

Rifiuti_In(Cod_A, Cod_R, Capacità_Stoccaggio, Prezzo, Qta, mat_description)

FK: Cod_A REFERENCES Attivita

FK: Cod_R REFERENCCES Rifiuto

 

Rifiuti_Recuperati(Cod_A, Cod_R, Note)

FK: Cod_A REFERENCES Attivita

FK: Cod_R REFERENCCES Rifiuto

 

Rifiuti_Out(Cod_A, Cod_R, Prezzo, Qta, mat_description)

FK: Cod_A REFERENCES Attivita

FK: Cod_R REFERENCCES Rifiuto

 

2.2.6        Informazioni geografiche

Place(Cod_Place, polo-nome, prov-cod, com-cod, casa-com-flag, X, Y, ISTAT-CODE)

FK : ISTAT-CODE REFERENCES Commune

Modificare POLIMORE_ in Cod_Place

 

Commune(COD-ISTAT, prov-cod, com-cod, cod-morfology)

FK: Prov_cod REFERENCES Provincia

 

Provincia(PROV-COD, Prov-nome)

Modificare prov-ID in prov_nome

 

Grafo_Capoluoghi(V1, V2, dest)

FK: V1, V2 REFERENCES Commune

2.3          Suddivisione concettuale del database

Può essere vantaggiosa una suddivisione del database trasversale allo schema E/R presentato in Figura 2. Lo scopo di questa suddivisione è essenzialmente quello di arricchire i DFD presentati nel Capitolo 3, rendendo evidente quale sottoinsieme del database partecipa alla realizzazione del processo descritto. Questa suddivisione rende anche immediatamente evidenti quali sono le informazioni da procurare per permettere il funzionamento del Sito Web.

La suddivisione è la seguente:

·         database degli utenti (USER_DB), che contiene tutti i dati degli utenti a cui è permesso l’accesso al sistema VAMP, compresi username e password;

·         database dei siti (SITE_DB). In esso sono contenuti tutti i siti di interesse per il progetto VAMP e le attività che in essi si svolgono (permanenti o temporanee). Questo archivio è costantemente aggiornato dagli utenti stessi, i quali aggiungono e cancellano siti oppure ne modificano i dati in base alle loro esigenze;

·         database dei rifiuti (WASTE_DB) che contiene la descrizione delle liste dei rifiuti che il sito Web è in grado di trattare, nonché i relativi parametri di identificazione e caratterizzazione.

·         database del territorio (TERRITORY_DB). Rappresenta il territorio in cui agisce il progetto e contiene la descrizione delle località, dei comuni, delle province e del grafo dei capoluoghi. Questo database è la base informativa per la realizzazione del modello del territorio.

L’accorpamento dei database precedenti è chiamato VAMP_DB.

Esistono poi dei database di supporto i cui dati non sono accessibili agli utenti:

·         PARAMETER_DB: database che contiene tutte le informazioni necessarie per la costruzione Multicriteria Decision Problem.

 

© 2001 Andrea Bulgarelli

Versione stampabile ]  

Precedente ] Successiva ]