"Sapienza" Università di Roma
Laurea in Ingegneria Gestionale

 

Corso di Basi Di Dati

A.A. 2010/2011

Docenti: Tiziana Catarci e Monica Scannapieco


 

Sistemi per la gestione di basi di dati
Modelli dei dati; livelli di astrazione; schemi ed istanze; indipendenza dei dati; linguaggi per basi di dati; struttura dei DBMS; vantaggi e svantaggi dei DBMS nello sviluppo e la gestione delle applicazioni; utenti e progettisti; introduzione a un DBMS commerciale.
Rif.: [1], Cap. 1.

Il modello relazionale
Modelli logici nei sistemi per basi di dati; relazioni e tabelle; schemi ed istanze; informazione incompleta e valori nulli; chiavi; vincoli di integrita' (di tupla, di chiave, di integrita' referenziale, generali).
Rif.: [1], Cap. 2.

Linguaggi di interrogazione nel modello relazionale
Operatori dell'algebra relazionale: operatori insiemistici, ridenominazione, selezione, proiezione, join, divisione; formulazione di interrogazioni in algebra relazionale.
Rif.: [1], Cap. 3.

SQL
Definizione di interrogazioni SELECT, FROM, WHERE; interrogazioni con operatori insiemistici;  interrogazioni nidificate; interrogazioni con raggruppamento; valori nulli.
Manipolazione dei dati; inserimento, cancellazione e modifica di tuple; definizione di schemi e tabelle; definizione di vincoli di integrita'; definizione ed uso di viste.
Rif.: [1], Cap. 4.

La progettazione concettuale
Metodologie di progettazione di basi di dati; il modello Entita'-Relazione; sviluppo e documentazione degli schemi E-R; l'analisi dei requisiti; strategie di progetto;  qualita' di uno schema concettuale.
Rif: [1], Cap. 5 + slides delle lezioni.

La progettazione logica
Ristrutturazione di schemi E-R: analisi delle ridondanze, eliminazione delle gerarchie, partizionamento e accorpamento; traduzione da schema E-R  a schema relazionale; problemi causati dalle ridondanze; anomalie; dipendenze funzionali; chiusura di un insieme di dipendenze funzionali; terza forna normale; forma normale di Boyce e Codd; decomposizioni; progettazione di basi di dati e normalizzazione.
Rif.: [1], Cap. 6 + slides delle lezioni,  e Cap. 7.

L'organizzazione fisica dei dati
Organizzazione della memoria; organizzazione dei files; introduzione agli indici; proprieta' degli indici; tipi di indici.
Rif. [1], Cap. 10.

Implementazione degli operatori relazionali ed Ottimizzazione
Parametri di costo; varie implementazioni del join.Piani per la valutazione delle interrogazioni; decomposizione delle interrogazioni; stima del costo dei piani; scelta tra piani alternativi.
Rif.: [1], Cap. 11.

Progettazione fisica
Stima del carico transazionale; linee guida per la scelta degli indici; denormalizzazione; decomposizione delle relazioni.
Rif.: [1], Cap. 12.

Transazioni, controllo di concorrenza e ripristino da guasti
La gestione delle transazioni; proprieta' acide delle transazioni; serializzabilita'. -- Locking a due fasi; la gestione del locking; deadlock e politiche di risoluzione; organizzazione del log; algoritmi di ripristino.
Rif.: [1], Cap. 13.

Riferimenti principali
[1] R. Ramakrishnan, J.Gehrke. Sistemi di Basi di Dati. McGraw-Hill, 2004.



Ritorna alla home del corso

07/03/2011