Basi di Dati 1 - a.a. 1999-2000
Ultima modifica: 14 Gennaio 2000.
Commenti a Giovanna Guerrini.
Aspetti introduttivi
Evoluzione nei sistemi di gestione dati.
Obiettivi e servizi di un DBMS.
Modelli dei dati: concetti di base, evoluzione.
Linguaggi di accesso e manipolazione.
Livelli nella rappresentazione dei dati.
Utenti di un sistema di basi di dati.
Modelli tradizionali dei dati
Il modello relazionale
Concetti base (schema, relazione, tupla). Algebra relazionale. Operazioni
derivate (intersezione,
join, divisione). Calcolo
relazionale. Potere espressivo dell'algebra relazionale e del calcolo
relazionale.
Safe relational calculus.
Operazioni di modifica.
Viste. Modifiche attraverso le viste.
Il linguaggio SQL
Struttura delle interrogazioni. Funzioni aritmetiche
e aggregate, sottointerrogazioni, operazioni di unione, differenza,
intersezione. Creazione di relazioni e viste.
Operazioni di modifica.
Uso di SQL da linguaggio di programmazione, concetto di cursore, SQL dinamico.
Il modello Entity-Relationship
Diagrammi E-R: entita', domini, attributi,
associazioni. Associazioni di sottoinsieme, gerarchie di generalizzazione.
Vincoli di integrita', identificazione e dipendenze di esistenza.
Metodologie per la progettazione di basi di dati.
Aspetti introduttivi.
Fasi nella progettazione, analisi dei requisiti, progettazione concettuale,
progettazione logica.
Trasformazione di schemi ER in schemi relazionali.
Teoria della normalizzazione
Aspetti introduttivi. Dipendenze funzionali.
Assiomi di Armstrong, teorema di completezza.
Calcolo della chiusura transitiva, insiemi di copertura, insiemi minimali.
Scomposizioni lossless join.
Scomposizioni che preservano le dipendenze funzionali.
Terza forma normale.
Forma normale Boyce-Codd.
Algoritmi per la determinazione di scomposizioni
in forma normale Boyce-Codd e di scomposizioni in terza forma normale.
Sicurezza e protezione dei dati
Autorizzazione
Aspetti introduttivi. Politiche di autorizzazione.
Modelli discrezionali e non.
L'autorizzazione nel System R: comandi di Grant e Revoke, struttura dei
cataloghi di autorizzazione e algoritmi di Grant e Revoke,
autorizzazione attraverso le viste.
Ripristino
Aspetti introduttivi. Nozione di transazione.
Memoria volatile, non volatile e stabile.
Tecniche di log.
Log incrementale con modifiche rimandate ed immediate.
Failure della memoria non volatile ed implementazione
della memoria stabile.
Controllo della concorrenza
Introduzione alla teoria della serializzabilita'.
Concetto di schedule, schedule seriale, schedule
serializzabile.
Algoritmo per la determinazione di schedule seriali
equivalenti.
Algoritmo di sincronizzazione two-phase locking.
Algoritmo basato su timestamp ordering.
Relazione tra
controllo della concorrenza e ripristino.
Libro di testo
E.Bertino, B.Catania, E.Ferrari, G.Guerrini.
Sistemi di basi di dati: concetti e architetture.
UTET Libreria, 1997.
(Nel corso di basi di dati 1 vengono trattati i capp.
1, 2, 3, 9, 10, 12 e 13 del libro).
Altri testi consigliati
- J. D. Ullman e J. Widom.
A first course in database systems.
McGraw-Hill, 1997.
- R. Elmasri e S.B. Navathe.
Fundamentals of database systems.
Benjamin/Cummings, 1994.
- H.F. Korth ed A. Silberschatz.
Database system concepts.
McGraw-Hill, 1986.
- J.D. Ullman.
Principles of database and knowledge-base systems (Vol. I).
Computer Science Press, 1988.
- C. Batini, S. Ceri ed S.B. Navathe.
Conceptual database design.
Benjamin/Cummings, 1992.
Anche in italiano: La progettazione concettuale dei dati,
editore Franco Angeli.
- C.J. Date e H. Darwen.
A Guide to the SQL Standard.
Addison-Wesley, 1992.