Basi di Dati: Complementi

Docente: Prof. Pierangela Samarati

Programma

  1. ORGANIZZAZIONE FISICA DELLE BASI DI DATI
    Moduli per l'accesso ai dati. Memoria principale, memoria secondaria e buffer. Gestore del buffer e sue primitive. Organizzazione dei file: struttura sequenziale (seriale, ad array, ordinata), ad accesso calcolato (hash-based), ad indici (alberi). Alberi B e B+. Gestione delle tuple nelle pagine. Progettazione fisica e definizione degli indici.
  2. GESTIONE DELLE TRANSAZIONI
    Definizione di transazione. Proprietà ACIDe delle transazioni. Transazioni e moduli di sistema. Gestore dell'affidabilità. Memoria stabile. Log: organizzazione, record e gestione. Guasti e loro gestione: ripresa a caldo e a freddo. Controllo della concorrenza. Anomalie delle transazioni concorrenti. Schedule seriali e serializzabili. View-equivalenza e conflict equivalenza. Locking a due fasi e sue varianti. Timestamp (monoversione e multiversione). Lock e loro gestione. Locking e livelli di isolamento in SQL. Deadlock e sua gestione. Livelock e starvation.
  3. ARCHITETTURE DISTRIBUITE
    Paradigmi per la distribuzione dei dati. Tipologie di architetture. Proprietà dei sistemi distribuiti. Architettura client-server. Basi di dati distribuite. Frammentazione e allocazione dei dati. Livelli di trasparenza. Transazioni in basi di dati disttribuite: classificazione e gestione delle proprietà ACIDe. Ottimizzazione di query distribuite. Metodo di Lamport. Deadlock distribuiti: definizione e gestione. Protocolli di commit distribuito: commit a due fasi e sue varianti.
  4. DATI SEMISTRUTTURATI
    XML. Definizione di dati semistrutturati in XML. Interrogazione di dati XML: XQuery e XPath; espressioni FLOWR.
  5. BASI DI DATI ATTIVE
    Regole E-C-A. Trigger. Livelli e modalità di esecuzione. Caratteristiche evolute delle regole attive. Proprietà delle regole attive: terminazione, confluenza, determinismo delle osservazioni. Analisi di terminazione. Applicazioni delle regole attive.
  6. BASI DI DATI PER IL SUPPORTO ALLE DECISIONI
    OLTP vs OLAP. Basi di dati per il supporto alle decisioni (OLAP). Data warehouse: caratteristiche e architettura. Rappresentazione multidimensionale dei dati. Operazioni su dati multidimensionali. Realizzazione di un data warehouse. Progettazione di un data warehouse: schema a stella e a fiocco di neve. Operazioni su ROLAP. Aggregazione in SQL. Data mining: regole di associazione e di classificazione.

Lucidi delle lezioni

  1. Lucidi delle lezioni su Ariel

Materiale di Riferimento

  • P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, Basi di Dati: Architetture e Linee di Evoluzione, 2 ed., McGraw-Hill Italia, 2007
  • S. Foresti, E. Pedrini, S. De Capitani di Vimercati, Eserciziario di Basi di Dati, Pitagora ed., 2006
    [Errata Corrige]