1. Introduzione alle basi di dati
Basi di dati e sistemi informativi. Sistemi di gestione di basi di dati. Il modello relazionale. Algebra relazionale.
Materiale didattico
T1, Cap. 1, Cap. 2, Cap. 3 (Par. 3.1)
2. Il linguaggio SQL
Definizione dei dati. Interrogazioni. Manipolazione dei dati. Vincoli di integrita'. Viste. SQL e linguaggi di programmazione.
Materiale didattico
T1, Cap. 4
3. La progettazione concettuale
Modelli concettuale. Il modello Entita'-Relazione. Metodologie di progettazione concettuale. Strategie di progetto. Qualita' di uno schema.
Materiale didattico T1, Capp. 5 e 6
Consigliato: T2
4. La progettazione logica
Analisi prestazioni su schemi ER. Ristrutturazione schemi ER. Traduzione nel modello relazionale. La normalizzazione.
Materiale didattico
T1, Capp. 7 e 8
5. La gestione delle transazioni
Definizione di transazione. Controllo della concorrenza. Controllo di affidabilita'.
Materiale didattico
T1, Cap. 9.1, 9.2, 9.3, 9.4
6. Strutture di dati e progettazione fisica
Strutture fisiche di accesso. La nozione di indice. Indici ad albero e indici Hash. La progettazione fisica.
Materiale didattico
T1, Cap. 9.5 9.7
7. Valutazione ed ottimizzazione di query
Valutazione degli operatori relazionali. Valutazione delle interrogazioni. Ottimizzazione di query.
Materiale didattico
T1, Cap. 9.6
8. Accesso a basi di dati da programmi
Integrazione tra SQL e linguaggi di programmazione. Java e JDBC. Strutture ed meccanismi offerti da JDBC. Trigger e stored procedures. Come esprimere i vincoli: in SQL, mediante i trigger e mediante software applicativo.
Materiale didattico
slides di Andrea Cali'