Diapositiva 1 - Dipartimento di Matematica e Informatica UNICAL

UNIVERSITA' DELLA CALABRIA
Corso di Laurea in Informatica
Basi di Dati
a.a. 2012-2013
Laboratorio 31B
Esercitatori : Ing. G. Laboccetta –
Dott.ssa V. Policicchio
UNIVERSITA' DELLA CALABRIA
Progetto Didattico
Durante le lezioni saranno realizzate tutte le fasi di
sviluppo del sistema informatico.

Ogni fase è composta da diversi step, ciascuno dei quali
porta alla produzione di più documenti.
 L'insieme di tali documenti costituisce la documentazione
del sistema informatico che gli studenti devono produrre
durante le lezioni.
 Il sistema informatico deve essere costituito da una
base di dati realizzata su un DBMS relazionale
(MySQL) interrogabile mediante SQL.
UNIVERSITA' DELLA CALABRIA
Progetto didattico
Il progetto didattico consiste nella realizzazione di un
Sistema Informativo
per la gestione delle attività di una videoteca
UNIVERSITA' DELLA CALABRIA
Gruppi di lavoro
Il progetto didattico deve essere svolto prevalentemente
durante le lezioni di laboratorio in gruppi di due-tre
persone.
Inviare una mail con oggetto “[Basi di Dati A.A.12-13]
Gruppi di Laboratorio" con la composizione del gruppo
(specificare <Matricola, Cognome, Nome, email> per
ogni componente) all’indirizzo
[email protected].
UNIVERSITA' DELLA CALABRIA
Progettazione della base di dati
UNIVERSITA' DELLA CALABRIA
Progettazione concettuale
Obiettivo: Rappresentare i dati della realtà d’interesse in termini di un
modello (descrizione) formale, ad alto livello, indipendente dal DBMS
• Input:
– Descrizione della realtà d’interesse (per sapere quali
dati rappresentare)
• Output:
– Schema concettuale (rappresentazione dei dati in un
modello di dati concettuale, eventualmente con vincoli
esterni)
• Qualità:
– correttezza e completezza della rappresentazione
UNIVERSITA' DELLA CALABRIA
Progettazione logica
Obiettivo: Rappresentare i dati della realtà d’interesse in termini dei costrutti
logici di una classe di DBMS (quelli basati su un determinato modello logico)
o Input:
- Schema concettuale (prodotto dalla progettazione concettuale)
- DBMS scelto (per sapere quale modello logico di dati adottare)
- Previsioni del carico applicativo (per l’ottimizzazione della base di dati)
o Output:
- Schema logico (rappresentazione dei dati in un modello di dati logico,
eventualmente con vincoli complessi)
o
Qualità:
- Correttezza e completezza della rappresentazione
- Efficienza della manipolazione dei dati
UNIVERSITA' DELLA CALABRIA
Progettazione Fisica
Obiettivo: Rappresentare i dati della realtà di interesse attraverso le strutture
dati di uno specifico DBMS
o Input:
– Schema logico (prodotto della progettazione logica)
– DBMS scelto (per sapere quali strutture dati fisiche utilizzare)
– Previsioni del carico applicativo (per l’ottimizzazione della base di
dati)
o Output:
– Schema fisico (Tipicamente nei DBMS attuali consiste in uno schema
logico + alcune scelte relative all’effettiva implementazione su DBMS di
detto schema)
o
• Qualità:
– Efficienza rispetto al carico applicativo
UNIVERSITA' DELLA CALABRIA
Modelli di dati
I prodotti della varie fasi della progettazione sono schemi basati su
specifici modelli di dati:
Schema concettuale  modello concettuale
Schema logico  modello logico
Schema fisico  modello logico + parametri fisici
UNIVERSITA' DELLA CALABRIA
Modelli dei dati adottati
– Schema concettuale:
• Modello Entità-Relazione (ER)
– Schema logico:
• Modello Relazionale
• DDL: SQL-standard
– Schema fisico:
• Modello relazionale + strutture fisiche
• DDL: SQL supportato dal DBMS scelto (MySQL)
UNIVERSITA' DELLA CALABRIA
Fasi e Step del Progetto
Analisi dei Requisiti e Progettazione Concettuale:
1.
I.
II.
III.
IV.
Raccolta e Analisi dei Requisiti
Progettazione dello schema Entità-Relazione (ER)
Specifica delle funzioni per operare sui dati
Stima del carico applicativo del sistema
informatico
Progettazione Logica della base di dati:
2.
I.
II.
Ristrutturazione dello schema ER in uno schema ER semplificato
orientato al modello relazionale
Traduzione dello schema ER ristrutturato in uno schema
relazionale
UNIVERSITA' DELLA CALABRIA
Fasi e Step del Progetto
4.
Progettazione Fisica ed implementazione della base di
dati:
Realizzazione della base di dati sul DBMS relazionale opensource MySQL 5.
II.
Realizzazione dei controlli di congruenza della base di dati
III. Popolamento delle tabelle
IV. Realizzazione delle interrogazioni per operare sui dati
I.
UNIVERSITA' DELLA CALABRIA
Analisi dei Requisiti e Progettazione
Concettuale
Comprende attività (interconnesse) di
1.
Raccolta dei requisiti
2.
Analisi dei requisiti
3.
Costruzione dello schema concettuale
4.
Costruzione del glossario
UNIVERSITA' DELLA CALABRIA
Raccolta e Analisi dei requisiti
La raccolta dei requisiti consiste nella raccolta delle
specifiche della realtà di interesse espresse in linguaggio
naturale.
Possibili fonti:
 utenti, che forniscono interviste e documentazione
apposita
 documentazione esistente:
• normative (leggi, regolamenti di settore)
• regolamenti interni, procedure aziendali
• realizzazioni preesistenti
UNIVERSITA' DELLA CALABRIA
Raccolta e Analisi dei requisiti
L’analisi e la ristrutturazione dei requisiti è fondamentale
per (1) eliminare ambiguità, (2) filtrare inesattezze e (3)
individuare informazioni ridondanti
L’analisi in genere inizia con i la raccolta dei primi requisiti
e spesso procede per «raffinamenti successivi» delle
specifiche raccolte.
UNIVERSITA' DELLA CALABRIA
Raccolta e Analisi dei requisiti
Spunti per l’interazione con il committente:
 Effettuare spesso verifiche di comprensione e coerenza
 Verificare anche per mezzo di esempi (generali e relativi
a casi limite)
 Richiedere definizioni e classificazioni
 Far evidenziare gli aspetti essenziali rispetto a quelli
marginali.
UNIVERSITA' DELLA CALABRIA
Requisiti: documentazione descrittiva
Regole generali
 costruire un glossario dei termini
 individuare omonimi e sinonimi e unificare i termini
 rendere esplicito il riferimento fra termini
 riorganizzare le frasi per concetti
UNIVERSITA' DELLA CALABRIA
Requisiti: documentazione descrittiva (1/3)
Documenti prodotti
 Descrizione sintetica della realtà di interesse
 Glossario dei termini
LINEA
TERMINE
NUOVO TERMINE
MOTIVAZIONE
CORREZIONE
5
Sinonimo
11
Omonimo
12
Termine troppo
generico…
……
….
….
……
UNIVERSITA' DELLA CALABRIA
Requisiti: documentazione descrittiva (2/3)
Documenti prodotti
 Specifiche complete che descrivano in modo
approfondito e non ambiguo la realtà di interesse,
facendo distinzioni fra:
• i dati
SPECIFICHE RISTRUTTURATE
1
2
3
4
……………………….
• le operazioni sui dati
1.
2.
Analisi Puntuali
Analisi Aggregate
UNIVERSITA' DELLA CALABRIA
Requisiti: documentazione descrittiva (3/3)
Documenti prodotti
 Raffinamento delle specifiche e individuazione dei concetti di
base
FRASI DI CARATTERE GENERALE
……………………….
FRASI RELATIVE A…
……………………………..
UNIVERSITA' DELLA CALABRIA
Progettazione schema concettuale
• La progettazione concettuale della base di dati ha come
scopo la produzione di uno schema entità relazione (ER)
che modelli la realtà di interesse.
• Questo tipicamente avviene attraverso la produzione di
diversi
schemi ER corrispondenti ai vari livelli di raffinamento.
Documenti prodotti:
 Discussione di scelte critiche nella produzione dello schema ER
finale
 Schema ER finale
 Vincoli dello schema non esprimibili dal modello ER, espressi in
linguaggio naturale in modo preciso e puntuale
 Dizionario dei dati (descrizione schematica di entità e delle
relazioni dello schema ER)
UNIVERSITA' DELLA CALABRIA
Specifica delle funzioni
Accanto alle specifiche sui dati vanno raccolte le specifiche sulle
operazioni di manipolazione degli stessi
Tali operazioni possono essere di:
– Lettura
– Scrittura:
• Aggiornamento
• Inserimento
• Cancellazione
UNIVERSITA' DELLA CALABRIA
Lo schema ER finale
Lo schema ER finale deve essere prodotto 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)
UNIVERSITA' DELLA CALABRIA
Dizionario dei dati
Il dizionario dei dati espressi nello schema concettuale
deve essere redatto in forma schematica e deve
contenere per ogni entità:
1.
2.
3.
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:
1. descrizione del suo significato
2. descrizione e dominio di ogni attributo
3. ruolo della partecipazione di ogni entità coinvolta nelle
relationship mettendo in evidenza il significato del ruolo
(motivando, se necessario, la scelta delle cardinalità).
UNIVERSITA' DELLA CALABRIA
PROGETTAZIONE
LOGICA
OBIETTIVO:
“Tradurre" lo schema concettuale in uno schema
logico che rappresenti gli stessi dati in maniera
corretta ed efficiente
UNIVERSITA' DELLA CALABRIA
Progettazione logica
Obiettivo: Rappresentare i dati della realtà d’interesse in termini dei costrutti logici
di una classe di DBMS (quelli basati su un determinato modello logico)
• Input:
Schema concettuale (output della progettazione concettuale)
Modello logico
DBMS scelto (conforme al modello logico scelto)
Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad
esso)
• Output: Schema logico + documentazione associata
• Qualità:
Correttezza e completezza della rappresentazione
Efficienza della manipolazione dei dati
UNIVERSITA' DELLA CALABRIA
Progettazione logica
Carico
applicativo
Schema E-R
Ristrutturazione dello
schema E-R
Schema E-R
ristrutturato
Modello
logico
Traduzione nel
modello logico
Schema
logico
UNIVERSITA' DELLA CALABRIA
Ristrutturazione schema E-R
Motivazioni:
 semplificare la traduzione
 "ottimizzare" le prestazioni
Osservazione:
 uno schema E-R ristrutturato non è (più) uno schema
concettuale nel senso stretto del termine
UNIVERSITA' DELLA CALABRIA
Attività della ristrutturazione
•
Analisi delle ridondanze
•
Eliminazione delle generalizzazioni
•
Partizionamento/accorpamento di entità e relazioni
•
Scelta degli identificatori primari
UNIVERSITA' DELLA CALABRIA
Attività di Ristrutturazione - Dettagli
Analisi delle ridondanze (si tiene conto dell’efficienza)
Eliminazione degli attributi multivalore
Eliminazione degli attributi composti (eventuale vincolo
(0,1) diventa vincolo esterno)
Eliminazione delle ISA e delle generalizzazioni
 vincoli per entità figlie della stessa entità padre con uno stesso
attributo
 vincoli di generalizzazione (disgiuntezza e completezza)
 si noti che tutte le entità diventano disgiunte
UNIVERSITA' DELLA CALABRIA
Attività di Ristrutturazione - Dettagli
 Scelta degli identificatori principali
 tutte le entità devono avere un identificatore – altrimenti introdurre
codice
 eliminazione di cicli di identificatori principali esterni
6. Specifica degli ulteriori vincoli esterni
 vincoli derivanti dalla ristrutturazione
 riformulazione dei vincoli esterni dello schema originario
7. Riformulazione delle operazioni e delle specifiche sul
carico applicativo in termini dello schema ristrutturato
UNIVERSITA' DELLA CALABRIA
Progettazione Logica - Documentazione
Documenti prodotti:
 Schema ER ristrutturato
 Discussione di scelte critiche nella ristrutturazione dello schema
ER
 Dizionario dei dati (descrizione schematica di entità e delle
relazioni dello schema ER ristrutturato)
 Vincoli dello schema non esprimibili dal modello ER, espressi in
linguaggio naturale in modo preciso e puntuale
 Traduzione dello schema ER ristrutturato nel modello logico
UNIVERSITA' DELLA CALABRIA
Documentazione - Dizionario dei dati
Il dizionario dei dati espressi nello schema logico deve
essere redatto in forma schematica e deve contenere per
ogni entità:
1. descrizione del suo significato
2. descrizione e tipo* di ogni attributo; se l'attributo è derivato, la relativa
regola di computazione
3. identificatori dell'entità (con specifico riferimento alle relationship e alle
entità coinvolte in eventuali identificazioni esterne)
per ogni relationship:
1. descrizione del suo significato
2. descrizione e tipo* di ogni attributo
3. ruolo della partecipazione di ogni entità coinvolta nelle relationship
mettendo in evidenza il significato del ruolo (motivando, se necessario,
la scelta delle cardinalità).
* Il tipo è quello scelto nel particolare DBMS per rappresentare il dominio dell’attributo