Insegnamento mutuato da: B003376 - BASI DI DATI Laurea Triennale (DM 270/04) in INGEGNERIA INFORMATICA Curriculum TECNICO SCIENTIFICO
Lingua Insegnamento
italiano
Contenuto del corso
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: PostgreSQL
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.
- Conoscenza del modello Entity Relationship e del Modello Relazionale
- Conoscenza dei costrutti del linguaggio SQL per la creazione, aggiornamento ed interrogazione di una base di dati relazionale. Capacità di saper formulare in SQL una interrogazione per l'estrazione di dati
- Capacità di descrivere un contesto di interesse attraverso la formulazione di uno schema concettuale con i costrutti del modello ER, Capacità di analizzare uno schema ER, ristrutturarlo e tradurlo nel modello relazionale.
- Conoscenza delle forme normali di una base dati e capacità di normalizzare una base dati
- Conoscenza delle proprietà di un sistema transazionale.
Prerequisiti
Conoscenza dell'algebra booleana e capacità di esprimere un predicato logico attraverso tale linguaggio.
Conoscenza di tipi e strutture dati elementari.
Conoscenza dei costrutti per il controllo del flusso di esecuzione in un linguaggio procedurale.
Competenze di programmazione in un linguaggio procedurale.
Metodi Didattici
Lezioni in aula (45 h) ed esercitazioni in laboratorio (10 h)
Altre Informazioni
Il materiale didattico (lucidi delle lezioni ed esercizi) è disponibile attraverso il sistema di e-learning https://e-l.unifi.it/
Modalità di verifica apprendimento
Prova scritta e prova orale.
L’esame finale ha lo scopo di accertare l’acquisizione dei risultati di apprendimento in termini di conoscenze e competenze tramite lo svolgimento di una prova scritta senza l'aiuto di appunti o libri e di una prova orale. La prova scritta consiste di 3 esercizi mirati alla verifica delle competenze di scrittura interrogazioni in linguaggio SQL, di progettazione logica e di normalizzazione. La prova orale consiste in un colloquio volto a valutare le capacità comunicative dello studente ed a fare emergere la conoscenza di aspetti teorici relativi al modello ER, modello relazionale, forme normali e transazioni.
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: PostgreSQL