Il corso illustra il processo di progettazione concettuale e logica delle basi di dati relazionali. In particolare, dopo una panoramica generale sulle basi di dati e sui loro sistemi di gestione (DBMS) nell'ambito dei sistemi informatici, illustra in dettaglio tutti gli aspetti relativi alle fasi della progettazione delle basi di dati relazionali: dalla raccolta e analisi dei requisiti alle fasi di progettazione concettuale e logica, alla normalizzazione dello schema relazionale. Per la fase di progettazione concettuale si fa riferimento al modello Entità-Relazioni (E-R), mentre per la creazione e l'utilizzo delle basi di dati è utilizzato il linguaggio SQL. Sono fornite alcune linee guida relative allo sviluppo di applicazioni che interagiscono con le basi di dati. Il corso si conclude con l'analisi e la risoluzione di alcuni casi di studio. Il primo caso di studio propone la progettazione guidata di una base di dati relazionale con discussione degli aspetti più rilevanti di modellazione, mentre gli altri propongono la progettazione di basi di dati di diversa complessità in modalità interattiva.
Durata 2 giorni
Programma
- Introduzione.
- Metodologie e modelli di progetto:
- il modello Entità-Relazione.
- Progettazione concettuale:
- criteri di progettazione
- strategie di progetto (top-down, bottom-up, mista)
- costrutti base della progettazione concettuale
- entità e relazioni, attributi, identificatori, generalizzazione, documentazione di schemi
- costrutti avanzati della progettazione concettuale
- identificatori esterni, rappresentazione del tempo.
- Progettazione logica relazionale:
- analisi e ristrutturazione degli schemi concettuali
- traduzione nel modello relazionale.
- Normalizzazione:
- forma normale di Boyce Codd
- decomposizione in forma normale
- proprietà delle decomposizioni
- decomposizione senza perdita e conservazione delle dipendenze.
- Casi di studio:
- progettazione concettuale e logica di una base di dati con discussione degli aspetti più rilevanti di modellazione
- progettazione concettuale e logica di strutture di basi di dati di diversa complessità in modalità interattiva.