|
La progettazione delle basi dati è un'attività essenziale nello sviluppo della maggior parte dei sistemi applicativi. Il corso espone i due modelli teorici più usati per la definizione di schemi concettuali e logici dei dati, l'Entity Relationship (ER) ed il relazionale, trattando in modo dettagliato i meccanismi di astrazione, di generalizzazione e di aggregazione. In termini di rappresentazione vengono presentate le notazioni più diffuse: ER (nelle sue diverse varianti) ed il profilo di data modeling UML. La progettazione logica dei dati ha basi scientifiche (teoria della normalizzazione), ma anche aspetti meno deterministici, per i quali è necessaria la capacità di analizzare i pro e i contro delle diverse soluzioni possibili per uno stesso problema. Per questo motivo il corso prevede numerose esercitazioni, e studio di casi reali.
Nessuno.
Concetti base
- natura, obiettivi e vincoli della modellazione dei dati
- architettura dei DBMS secondo il modello ANSI/SPARC
- i livelli concettuale, logico e fisico
Il modello Entity Relationship
- entità
- attributo
- tipi di dato base e user-defined
- identificatore
- associazione
- generalizzazione/specializzazione
- aggregazione
Notazioni
- Entity Relationship (Chen e varianti)
- profilo UML di Data Modeling
Il modello relazionale
- relazioni
- domini e Data Type
- vincoli di integrità dei dati
- operatori dell'algebra relazionale
Forme normali e normalizzazione
- dipendenza funzionale, dipendenza multivalente, dipendenza di join
- 1°, 2°, 3° forma normale
- BCNF, 4° e 5° forma normale
Integrazione di schemi
- evoluzione di schemi dati nello sviluppo incrementale
- schemi di progetto e schemi aziendali
Progettazione logica di data base
- trasposizione di generalizzazioni/specializzazioni nel contesto relazionale
- denormalizzazioni e altre forme di ottimizzazione
- database Refactoring
- Data Warehouse
- reverse Engineering dei dati
Calendario dei corsi in Italiano