Basi di Dati - a.a. 2007-2008

Commenti a Giovanna Guerrini.


AVVISI









Programma del corso

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.

Progettazione di basi di dati

Metodologie di progettazione di basi di dati Aspetti introduttivi. Fasi nella progettazione, analisi dei requisiti, progettazione concettuale, progettazione logica.
Progettazione concettuale: Il modello Entity-Relationship Diagrammi E-R: entità, domini, attributi, associazioni. Associazioni di sottoinsieme, gerarchie di generalizzazione. Vincoli di integrità, identificazione e dipendenze di esistenza.
Progettazione logica: Il modello relazionale Concetti base (schema, relazione, tupla). Nozione di chiave, chiave esterna, integrità referenziale. Trasformazione di schemi ER in schemi relazionali.

Modello relazionale e SQL

Il modello relazionale Algebra relazionale. Operazioni derivate (intersezione, join, divisione). Calcolo relazionale. Potere espressivo dell'algebra relazionale e del calcolo relazionale. Safe relational calculus.
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: estensioni procedurali di SQL (PL/SQL), interfacce per DBMS (JDBC), SQL embedded (SQLJ). Concetto di cursore, SQL dinamico.

Teoria della normalizzazione

Aspetti introduttivi. Dipendenze funzionali. Assiomi di Armstrong. 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.

Cenni all'architettura di un DBMS

Cenni a strutture di memorizzazione, strutture fisiche di accesso, gestione del buffer. Cenni a ottimizzazione di interrogazioni. Nozione di transazione. Anomalie delle transazioni concorrenti. Gestione dei guasti. Cenni a meccanismi di controllo dell'accesso.




Modalità d'esame

Una prova orale preceduta dallo svolgimento di due compitini durante l'anno. I compitini falliti possono essere sostituiti da una breve prova scritta da svolgersi in sede d'esame.




Testi di riferimento

Libro di testo

B.Catania, E.Ferrari, G.Guerrini. Sistemi di gestione dati - concetti e architetture, UTET Università, 2006. (Nel corso vengono trattati i capp. 1-6 del libro).

Altri testi consigliati