Progetto di una base di dati
Lo svolgimento del progetto deve essere articolato in fasi, ognuna delle quali deve portare alla
produzione di uno o più documenti; l'insieme dei documenti costituirà la documentazione
completa del progetto che gli studenti devono preparare e consegnare obbligatoriamente in sede
d'esame durante la prova orale.
Esistono varie decomposizioni in fasi del processo di sviluppo di un sistema informativo. Si
propone una decomposizione articolata in sei fasi come illustrato di seguito.
Fasi del progetto
1. Raccolta e analisi dei requisiti della realtà di interesse espressi in linguaggio naturale,
documentata con:
o
una descrizione sintetica della realtà di interesse;
o
le specifiche complete, ristrutturate e non ambigue, che descrivano in modo compiuto la
realtà di interesse (di solito alcune pagine);
o
le operazioni previste sui dati
o
glossario dei termini
2. Progettazione concettuale della base di dati con la produzione di uno schema EntityRelationship (E-R), che modelli la realtà di interesse. È necessario documentare:
o
Vari livelli di astrazione dello schema concettuale (quelli prodotti adoperando una
particolare strategia di progettazione).
o
Lo schema E-R finale in forma completa, cioè indicando: gli attributi di ogni entità e di ogni
relationship; gli identificatori di ogni entità; le cardinalità di ogni relationship; i ruoli per le
relationship (se necessari).
o
Un glossario dei concetti espressi nello schema concettuale, che contenga:
•
per ogni entità: descrizione del suo significato; descrizione e dominio di ogni
attributo (quando necessario); se l'attributo è derivato, la relativa regola di
computazione; identificatori dell'entità (con specifico riferimento alle relationship e
alle entità coinvolte in eventuali identificazioni esterne);
•
per ogni relationship: descrizione del suo significato; descrizione e dominio di ogni
attributo; ruolo della partecipazione di ogni entità coinvolta nelle relationship
mettendo in evidenza il significato del ruolo (motivando, se necessario, la scelta
delle cardinalità).
o I vincoli dello schema non esprimibili dal modello E-R.
3. Analisi delle prestazioni sullo Schema E-R: produzione di un elenco delle procedure per la
gestione dei dati memorizzati nella base di dati, ciascuna con una breve descrizione in
linguaggio naturale. E' buona norma far sì che l'insieme di operazioni copra tutto lo schema
concettuale. Occorre inoltre effettuare delle previsioni sul carico applicativo della base di dati.
4. Progettazione logica, articolata secondo le due attività:
o
ristrutturazione dello schema concettuale (analisi delle ridondanze, eliminazione delle
gerarchie, accorpamenti e partizionamenti, scelta degli identificatori primari), con
opportuna documentazione delle scelte fatte;
o
traduzione dello schema concettuale ristrutturato in uno schema relazionale (completo di
vincoli di chiave e di riferimento).
5. Realizzazione dell'applicazione formata dall'implementazione della base di dati secondo lo
schema logico prodotto nella quarta fase e dall'implementazione delle operazioni descritte
durante la prima e la terza fase, nel DBMS relazionale open-source MySQL 5.0. La
documentazione di questa parte consiste nel listato delle istruzioni SQL per:
o
la definizione dello schema della base di dati (SQL-DDL);
o
la definizione delle interrogazioni per la visualizzazione dei dati (SQL-DML);
o
la definizione delle operazioni per la manipolazione dei dati (aggiornamenti, inserimenti,
cancellazioni) (SQL-DML).
6. Test dell'applicazione. La documentazione di questa parte consiste nella definizione del
contenuto di test della base di dati e nella stampa dei risultati delle interrogazioni su tali dati.