Corso Progettazione basi dati

Descrizione:

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 ed i contro delle diverse soluzioni possibili per uno stesso problema. Per questo motivo il corso prevede numerose esercitazioni, e studio di casi reali.


Destinatari:

  • esperti di dominio applicativo
  • analisti
  • progettisti software

Prerequisiti:

Nessuno.


Contenuti:

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

Durata: 3 giorni