Progettazione di basi di dati:
metodologie e modelli
Metodologie di
Progettazione
1
Progettazione di basi di dati
 È una delle attività del processo di sviluppo dei
sistemi informativi
 va quindi inquadrata in un contesto più generale,
il ciclo di vita dei sistemi informativi:


insieme e sequenzializzazione delle attività svolte da
analisti, progettisti, utenti, nello sviluppo e nell’uso dei
sistemi informativi
attività iterativa, quindi ciclo
Metodologie di Progettazione
2
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
Realizzazione
Validazione e
collaudo
Funzionamento
Fasi (tecniche) del ciclo di vita

Studio di fattibilità: definizione costi delle alternative possibili
e priorità di realizzazione delle varie componenti del sistema

Raccolta e analisi dei requisiti: studio delle proprietà e
funzionalità che il sistema informativo dovrà avere. Richiede
interazione con gli utenti del sistema e produce una descrizione
completa, ma informale

dei dati coinvolti (anche la previsione del loro carico
applicativo)

delle operazioni su esse (anche la previsione della loro
frequenza)
Metodologie di Progettazione
4


Progettazione:

dei dati (struttura e organizzazione dei dati)

delle applicazioni (caratteristiche dei programmi
applicativi): in parallelo o a cascata.
Realizzazione:
1.
implementazione del sistema informativo secondo la
struttura e le caratteristiche definite in fase di
progettazione.
2.
costruzione e popolamento della base di dati.
Metodologie di Progettazione
5

Validazione e collaudo: verifica del corretto
funzionamento e della qualità del sistema
informativo

Funzionamento: il sistema diventa operativo ed
esegue i compiti per cui era stato progettato. A
meno di malfunzionamenti questa attività
richiede solo operazioni di gestione e
manutenzione
Metodologie di Progettazione
6
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
dei dati
Realizzazione
Validazione e
collaudo
Funzionamento
Metodologia di progetto
 Per garantire prodotti di buona qualità è opportuno
seguire una metodologia di progetto, che consiste in:
articolazione delle attività di progetto in fasi successive
indipendenti tra loro
 strategie da seguire nei vari passi e criteri di scelta in
caso di alternative


modelli di riferimento per descrivere i dati di ingresso e
uscita delle varie fasi
Metodologie di Progettazione
8
Proprietà di una metodologia
Le proprietà che una metodologia deve garantire sono:

generalità rispetto allle applicazioni e ai sistemi in gioco

qualità del prodotto in termini di correttezza,
completezza ed efficienza rispetto alle risorse impiegate

facilità d'uso sia delle strategie che dei modelli di
riferimento
Metodologie di Progettazione
9
Studio di fattibilità
PROGETTAZIONE
Raccolta e analisi
dei requisiti
Progettazione
dei dati
Realizzazione
Validazione e
collaudo
Funzionamento
requisiti del
Sistema informativo
utenti
interattivi
applicazioni
progettazione concettuale
DBMS
SCHEMA CONCETTUALE
progettazione logica
SCHEMA LOGICO
Normalizzazione
progettazione fisica
SCHEMA FISICO
DB
Fase di raccolta e analisi dei
requisiti
 Fase in cui vengono raccolte e analizzate le specifiche informali ed
eterogenee che i vari utenti danno delle procedure da automatizzare
mediante un DBMS
 requisiti informativi: caratteristiche dei dati
 requisiti sui processi: operazioni sui dati
 requisiti sui vincoli di integrità: proprietà dei dati e delle operazioni
 Attività principali:
 Costruzione glossario dei termini
 Eliminazione delle ambiguità (sinonimi, omonimi)
 Raggruppamento dei requisiti “omogenei”
 Fase solo apparentemente semplice, nella realtà è spesso la più
complessa perché è difficilmente standardizzabile il processo che porta a
comprendere che cosa vogliono gli utenti!
Metodologie di Progettazione
12
Fase di progettazione
concettuale
A partire
dai requisiti informativi viene creato uno schema
concettuale, che rappresenta le specifiche informali della realtà di
interesse in termini
di
una descrizione informale
espressa
in modo indipendente dal DBMS adottato
A tale
scopo si adotta un modello concettuale, che permette di
descrivere ad alto livello l'organizzazione dei dati,
indipendentemente dall'implementazione
Lo
schema concettuale è indipendente anche dal tipo di DBMS
che sarà utilizzato (relazionale, gerarchico, ...)
Metodologie di Progettazione
13
Fase di progettazione logica
 Consiste nella traduzione dello schema concettuale nel modello
di rappresentazione dei dati adottato dal DBMS
 Il risultato è uno schema logico, espresso nel DDL del DBMS
 La rappresentazione dei dati è:
indipendente da dettagli fisici
concreta perché disponibile nei DBMS
 In questa fase si considerano anche aspetti legati a:
integrità e consistenza (vincoli)
efficienza
 La progettazione logica si articola in due sotto-fasi:
ristrutturazione dello schema concettuale
traduzione verso il modello logico
14
Fase di progettazione fisica
 In questa ultima fase si operano scelte spesso
strettamente dipendenti dallo specifico DBMS
utilizzato
 Ad esempio, lo stesso schema logico può essere
fisicamente rappresentato in modo diverso in DB2 e in
Oracle, al fine di meglio sfruttare le caratteristiche dei
due DBMS
 Il risultato è lo schema fisico, che descrive le
strutture di memorizzazione e accesso ai dati
(organizzazione dei file, clustering, indici, ecc.)
Metodologie di Progettazione
15
I prodotti della varie fasi sono schemi di alcuni
modelli di dati:

Schema concettuale

Schema logico

Schema fisico
Metodologie di Progettazione
16
Progettazione
concettuale
Progettazione
logica
Progettazione
fisica
Due tipi (principali) di modelli
 modelli logici: utilizzati nei DBMS esistenti per
l’organizzazione dei dati


utilizzati dai programmi
indipendenti dalle strutture fisiche
esempi: relazionale, reticolare, gerarchico, a oggetti
 modelli concettuali: permettono di rappresentare i
dati in modo indipendente da ogni sistema


cercano di descrivere i concetti del mondo reale
sono utilizzati nelle fasi preliminari di progettazione
il più noto è il modello Entity-Relationship
Metodologie di Progettazione
18
Modelli concettuali, perché?
 Proviamo a modellare una applicazione
definendo direttamente lo schema logico
della base di dati:




da dove cominciamo?
rischiamo di perderci subito nei dettagli
dobbiamo pensare subito a come correlare le
varie tabelle (chiavi etc.)
i modelli logici sono rigidi
Metodologie di Progettazione
19
Modelli concettuali, perché?
 servono per ragionare sulla realtà di
interesse, indipendentemente dagli aspetti
realizzativi
 permettono di rappresentare le classi di dati
di interesse e le loro correlazioni
 prevedono efficaci rappresentazioni grafiche
(utili anche per documentazione e
comunicazione)
Metodologie di Progettazione
20