Algebra relazionale; il modello relazionale; il linguaggio SQL per la creazione ed interrogazione di basi di dati; progettazione delle basi di dati con il modello Entity-relationship; analisi di schemi ER e progettazione logica; trigger; transazioni; dipendenze funzionali e forme normali; normalizzazione delle basi di dati; case studies: MySQL, OracleXE
Sistemi di Basi di Dati - Fondamenti
R.A. Elmasri, S.B. Navathe
Ed. Pearson, Addison Wesley
Basi di dati: Modelli e linguaggi di interrogazione
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone
Ed. McGraw-Hill
Obiettivi Formativi
Obiettivo del corso è quello di fornire le conoscenze e competenze
necessarie a progettare, sviluppare e gestire basi di dati.
- Progettazione concettuale di una base dati attraverso il modello entity relationships
- Derivazione del modello relazionale dallo schema concettuale (progettazione logica)
- Normalizzazione di una base dati
- Creazione, gestione ed interrogazione di una base dati con SQL
Prerequisiti
Sistemi operativi, Calcolatori
Metodi Didattici
Lezioni in aula (45 h) ed esercitazioni in laboratorio (10 h)
Altre Informazioni
Il materiale didattico (lucidi delle lezioni ed esercizi) è disponibile dalla pagina web del corso http://www.dsi.unifi.it/pala/index.php/Main/DB-material
Modalità di verifica apprendimento
prova scritta+prova orale
Programma del corso
Sistemi Informativi e Basi di Dati; Il modello relazionale (definizione di
relazione, vincoli di integrità); Algebra relazionale (unione,
intersezione, differenza, selezione, proiezione e join); Il linguaggio SQL
(tipi di dati, creazione tabelle, specifica vincoli di integrità, il
comando select, clausole di raggruppamento, ordinamento, operatori
aggregati, interrogazioni nidificate, viste, aggiornabilità delle viste,
viste ricorsive); Progetto di basi di dati: Il modello Entity-
Relationship (entità, relazioni, attributi, cardinalità, generalizzazioni);
Progettazione logica (analisi delle ridondanze, ristrutturazione di schemi
ER, traduzione nel modello relazionale); Forme normali (dipendenze
funzionali, decomposizioni, copertura minimale, forme normali prima,
seconda, terza e Boyce Codd, procedure di normalizzazione); Basi di dati attive: Triggers; Transazioni. Casi di studio: MySQL, Oracle XE