Architetture dei sistemi di gestione dati

Anno accademico 2008-2009







Programma del corso

Organizzazione dei dati su memoria secondaria

Dispositivi di memorizzazione. File con record a lunghezza fissa e variabile. Clustering e co-clustering di relazioni. Indici densi e sparsi. B-alberi e B+-alberi. Hashing statico e dinamico (hash virtuale, hash estendibile). Cenni a indici bitmap, per testo, per dati spaziali.

Strategie di elaborazione di interrogazioni

Ordinamento di dati su memoria secondaria. Elaborazione degli operatori relazionali. Ottimizzazione logica: equivalenza di espressioni algebriche. Ottimizzazione fisica: fattori di selettivita', stima delle dimensioni dei risultati intermedi, strategie di enumerazione e scelta dei piani di esecuzione per interrogazioni su singola relazione e con join.

Controllo della concorrenza

Nozione di transazione. Introduzione alla teoria della serializzabilita'. Concetto di schedule, schedule seriale, schedule serializzabile. Serializzabilita' rispetto ai conflitti e serializzabilita' rispetto alle viste. Protocolli di controllo della concorrenza: Two-Phase locking, timestamp ordering, validazione. Livelli di isolamento.

Ripristino

Memoria volatile, non volatile e stabile. Tecniche di log. Log incrementale con modifiche rimandate ed immediate.

Controllo dell'accesso

Politiche di autorizzazione. Modelli discrezionali e non. Il controllo dell'accesso nel System R: comandi di Grant e Revoke, struttura dei cataloghi di autorizzazione e algoritmi di Grant e Revoke, autorizzazione attraverso le viste. Modelli basati sui ruoli.




Modalita' d'esame

L'esame consiste in una prova scritta finale. Solo in casi eccezionali (quando si è consapevoli di essere ben preparati, più di quanto non riveli il voto della prova scritta) gli studenti potranno chiedere al docente una prova orale integrativa.




Testi di riferimento

Libro di testo

B.Catania, E.Ferrari, G.Guerrini. Sistemi di gestione dati: modelli ed architetture. UTET Universita', 2006.

Altri testi consigliati