Architettura dei sistemi per la gestione di basi di dati. Il modello Entity Relationship. Il modello relazionale. Algebra relazionale: operatori e query. Analisi e trasformazione di uno schema ER in uno schema relazionale. Dipendenze funzionali, forme normali, decomposizione di schemi. Introduzione alla gestione della concorrenza, affidabilità e log. Il linguaggio SQL: concetti base e caratteristiche evolute. MySQL, un sistema reale per la gestione di basi di dati.
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone, Basi di dati - Modelli e linguaggi di interrogazione, McGraw-Hill, 2013, quarta edizione.
- Reference Manual for MySQL, http://www.mysql.com
- Altro materiale a disposizione sul sito del corso
Obiettivi Formativi
Conoscenze: Lo studente acquisisce conoscenze sul modello relazionale, l'algebra relazionale e sulla metodologia di progettazione ER, imparando in particolare a trasformare uno schema ER in uno schema relazionale. Acquisisce inoltre i concetti di base e le caratteristiche più evolute del linguaggio SQL imparando così a tradurre lo schema relazionale, nonché le relative interrogazioni, in MySQL.
Competenze acquisite: Lo studente acquisisce le competenze fondamentali per la progettazione e analisi di una base di dati relazionale e per l'utilizzo della stessa tramite un reale sistema per la gestione di basi di dati, quale MySQL. Le basi di dati di tipo relazionale oltre ad essere le più utilizzate, sono anche di primaria importanza per la definizione di concetti e metodologie sviluppate in successive proposte.
Capacità acquisite al termine del corso: Lo studente acquisisce la capacità di progettare una base di dati che risponda ai requisiti richiesti da un'applicazione specifica, accompagnandola con una valutazione critica delle caratteristiche e delle prestazioni. Inoltre lo studente avrà la capacità di valutare criticamente basi di dati già progettate e/o implementate, ed eventualmente proporre modifiche atte a migliorarne la struttura. Infine, con le competenze acquisite sui linguaggi e sui sistemi per basi di dati lo studente sarà capace di implementare vari aspetti delle applicazioni che fanno riferimento ad un uso intensivo di grosse quantità di dati.
Prerequisiti
Corsi vincolanti: Programmazione
Metodi Didattici
Numero di ore totali del corso: 225
Numero di ore per studio personale e altre attività formative di tipo individuale: 145
Numero di ore relative alle attività in aula: 56
Numero di ore relative ad attività di laboratorio (lezioni in laboratorio): 24
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Previo appuntamento via e-mail.
Dipartimento di Statistica, Informatica, Applicazioni
Viale Morgagni, 65
50134 - Firenze (FI)
Tel: 055 4237440 Fax: 055 4237436
E-Mail: donatella.merlini@unifi.it
Modalità di verifica apprendimento
Esame scritto e progetto in MySQL
Programma del corso
Architettura dei sistemi per la gestione di basi di dati. Il modello Entity Relationship. Il modello relazionale. Algebra relazionale: operatori e query. Analisi e trasformazione di uno schema ER in uno schema relazionale. Dipendenze funzionali, forme normali, decomposizione di schemi. Introduzione alla gestione della concorrenza, affidabilità e log. Il linguaggio SQL: concetti base e caratteristiche evolute. MySQL, un reale sistema per la gestione di basi di dati.