Obiettivi formativi
I sistemi per la gestione di basi di dati rappresentano un
elemento fondamentale per la maggior parte dei sistemi informatici
presenti nella realtà economica di ogni paese avanzato. Il
corso di “Basi di dati: sistemi avanzati e geografici”
ha lo scopo di approfondire i temi trattati nel corso di "Basi di
dati e Sistemi Informativi" offerto lo scorso anno accademico,
considerando in particolare l'evoluzione subita negli ultimi anni
dal settore delle basi di dati. In particolare nel corso si
illustreranno in dettaglio le basi di dati distribuite, le basi di
dati ad oggetti, le basi di dati attive, le tecniche di data mining
e data warehousing. Inoltre si presenteranno le caratteristiche
fondamentali delle basi di dati geografiche, presentando per queste
anche una metodologia di progettazione. Lo studente alla fine del
corso sarà in grado di definire autonomamente le specifiche
concettuali di una base di dati geografica, di progettarne la
struttura logica e di interrogare la stessa base di dati
geografica. Inoltre, avrà le conoscenze per affrontare la
progettazione e la realizzazione di basi di dati non
tradizionali.
Attività formative
Il corso prevede 50 ore di lezioni/esercitazioni in aula che
verranno svolte nel terzo quadrimestre.
Programma del corso
- Linguaggi e modelli per basi di dati: Vincoli di
integrità. Il concetto di dipendenza funzionale.
Proprietà delle decomposizioni. Teoria della normalizzazione
di uno schema relazionale. Calcolo relazionale sui domini e sulle
tuple. Equivalenza tra algebra e calcolo.
- Sistemi transazionali: Rilevanza dei sistemi
transazionali. Concetto di transazione. Proprietà di una
transazione. Controllo della concorrenza. il gestore della
concorrenza e il deadlock. Affidabilità di un sistema
transazionale: il gestore dell’affidabilità, il file
di LOG, ripresa a caldo e a freddo.
- Organizzazione interna di un sistema per la gestione di basi
di dati: Dizionario dei dati. Ottimizzazione delle
interrogazioni. Organizzazione fisica di una base di dati. Tecniche
per la gestione dell'I/O: gestore del buffer.
- Basi di dati distribuite: Frammentazione e allocazione
dei dati. Architettura client-server. Controllo della concorrenza.
Protocollo di commit a due fasi.
- Evoluzione delle basi di dati: Basi di dati orientate
agli oggetti. Basi di dati deduttive. Basi di dati attive. Data
Warehousing and Data Mining.
- Basi di dati geografiche: Introduzione ai sistemi
informativi geografici, modelli dei dati per l'informazione
geografica. Linguaggi di interrogazione per una base di dati
geografica: la selezione basata sulle relazioni topologiche, il
join spaziale e altri operatori. Metodi di accesso ai dati
geografici: R-tree