Programma di Basi Di Dati E Conoscenza:

 

Basi di Dati e della Conoscenza.

Primo emicorso: Basi di Dati e Sistemi di Gestione delle Basi di Dati

Docente responsabile: Roberto Basili Programma dell’ Emicorso per dalll’a.a. 2011/12

 

1 Introduzione. Introduzione ai sistemi di basi di dati. Gestione dei dati. Una prospettiva storica. File system e DBSM. Vantaggi di un DBMS. Interrogazioni in un DBMS. Gestione delle transazioni. Struttura di un DBMS.

2 Il modello relazionale Introduzione al modello relazionale. Chiavi e Vincoli di integrità sulle relazioni. Applicazione dei vincoli di integrità. Interrogazione di basi di dati relazionali. Introduzione alle viste.

3 Algebra relazionale Introduzione. Algebra relazionale. Selezione e proiezione. Operazioni sugli insiemi. Join. Esempi di interrogazioni algebriche

4 SQL Introduzione ad SQL. Interrogazioni SQL di base. Operatori di UNION, INTERSECT e EXCEPT. Interrogazioni annidate. Interrogazioni annidate correlate. Operatori di confronto tra insiemi. Operatori di aggregazione: clausole GROUP BY e HAVING. Valori null. Join esterni. Vincoli di integrità complessi in SQL. Asserzioni su più tabelle. Trigger e basi di dati attive. Vincoli e trigger

5 Il modello Entità-Relazione Progettazione di basi di dati e diagrammi ER. Entità, attributi e insiemi di entità. Relazioni e insiemi di relazioni. Estensioni del modello ER. Vincoli di chiave. Vincoli di partecipazione. Entità deboli. Gerarchie di classi. Aggregazione. Progettazione concettuale con il modello ER. Progettazione concettuale per grandi organizzazioni

6 La progettazione logica: dallo schema ER al relazionale Da insiemi di entità e relazioni a tabelle. Traduzione di insiemi di relazioni con vincoli di chiave. Traduzione di insiemi di relazioni con vincoli di partecipazione. La traduzione di insiemi di entità deboli. Traduzione delle gerarchie di classi. Traduzione di diagrammi ER con aggregazione.

7 La normalizzazione (*) Introduzione al raffinamento degli schemi. Problemi causati dalla ridondanza. Decomposizioni. Dipendenze funzionali. Forme normali. Forma normale di Boyce-Codd. Proprietà delle decomposizioni. Normalizzazione. Raffinamento dello schema nella progettazione di basi di dati

8 Applicazioni tradizionali L’accesso alle basi di dati da parte delle applicazioni. SQL incapsulato. Cursori. SQL dinamico. Introduzione a JDBC. Classi e interfacce JDBC. Esecuzione dei comandi SQL. SQLJ. Stored procedure

9 Applicazioni Internet Introduzione alle reti di calcolatori e Web. Documenti HTML. Documenti XML. Introduzione all’XML. L’architettura delle applicazioni three-tier. Il livello di presentazione. Il livello intermedio

10 File e indici Memorizzazione esterna dei dati. Organizzazioni dei file e indicizzazione. Strutture di dati per gli indici. Indici hash. Indici ad albero. Confronto tra organizzazioni di file. Indici e miglioramento delle prestazioni. Definizione degli indici in SQL:1999.

11 Esecuzione delle interrogazioni. Il catalogo di sistema. Introduzione alla valutazione degli operatori. Percorsi di accesso. Algoritmi per operazioni relazionali. Introduzione all’ottimizzazione delle interrogazioni. Piani di valutazione delle interrogazioni

12 Progettazione fisica (*)

13 Gestione delle transazioni (*)

 

(*) I capitoli contrassegnati da (*) sono facoltativi: se ne consiglia caldamente la lettura ma non costituiranno materia d’esame.