Insegnamento
BASI DI DATI
IN06100770, A.A. 2013/14

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INGEGNERIA INFORMATICA
IN0521, ordinamento 2009/10, A.A. 2013/14
1086573
Crediti formativi 9.0
Denominazione inglese DATABASE
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA

Docenti
Responsabile NICOLA FERRO ING-INF/05

Mutuazioni
Codice Insegnamento Responsabile Corso
IN06100770 BASI DI DATI NICOLA FERRO IN0524

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Ingegneria informatica ING-INF/05 9.0

Modalità di erogazione
Periodo di erogazione Secondo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Organizzazione della didattica
Tipo ore Crediti Ore di
Corso
Ore Studio
Individuale
Turni
LEZIONE 9.0 72 153.0 Nessun turno

Calendario
Inizio attività didattiche 03/03/2014
Fine attività didattiche 14/06/2014

Commissioni d'esame
Commissione Dal Al Membri
7 A.A. 2015/2016 01/10/2015 15/03/2017 FERRO NICOLA (Presidente)
DI NUNZIO GIORGIO MARIA (Membro Effettivo)
AGOSTI MARISTELLA (Supplente)
SILVELLO GIANMARIA (Supplente)
6 A.A. 2014/2015 01/10/2014 15/03/2016 FERRO NICOLA (Presidente)
DI NUNZIO GIORGIO MARIA (Membro Effettivo)
AGOSTI MARISTELLA (Supplente)
01/10/2013 15/03/2015 FERRO NICOLA (Presidente)
DI NUNZIO GIORGIO MARIA (Membro Effettivo)
AGOSTI MARISTELLA (Supplente)

Syllabus
Prerequisiti: + Buona conoscenza della programmazione in Java
+ Conoscenza delle reti di calcolatori
+ Nozioni di HTML, CSS, Javascript
Conoscenze e abilita' da acquisire: L'obbiettivo dell'insegnamento è imparare a progettare e realizzare un’applicazione distribuita per la gestione e la permanenza di dati strutturati nel tempo.

Il conseguimento di questo obbiettivo prevede:
- acquisizione di una solida competenza informatica di base riguardante il settore della gestione delle basi di dati, i modelli di dati, loro proprietà, i linguaggi formali per interrogare una base di dati, e opportune metodologie di analisi e progettazione;
- acquisizione della capacità di sviluppare un progetto reale di basi di dati utilizzando un sistema di gestione di basi di dati relazionale (RDBMS);
- acquisizione della capacità sviluppare una applicazione accessibile via Web utilizzando il linguaggio di programmazione Java e le Java servlet.
Modalita' di esame: + Prova scritta (individuale)
--- domande sugli argomenti svolti a lezione
--- esercizio di progettazione e interrogazione di una base di dati

+ Sviluppo di un progetto di basi di dati in gruppo
--- presentazione finale dei risultati del progetto tramite slide
--- presentazione (demo) dell’applicazione sviluppata dal gruppo
Criteri di valutazione: La valutazione dello studente si baserà sulla comprensione e conoscenza dei concetti e metodologie proposte, sulla capacità di affrontare le diverse fasi della progettazione di una base di dati, sulla comprensione dei modelli e linguaggi per interrogare una base di dati, sulla realizzazione in gruppo di un progetto di applicazione di basi di dati.
Contenuti: + Concetti sui sistemi di gestione di basi di dati
--- Cenni sulle reti di calcolatori e modello client/server
--- Cenni sulle applicazioni distribuite e loro architetture
--- Cenni sulle applicazioni Web

+ Raccolta, analisi e progettazione dei requisiti

+ Il modello entità-associazione
--- progettazione concettuale

+ Il modello relazionale (e basi di dati relazionali)
--- progettazione logica
--- dipendenze funzionali e normalizzazione
--- algebra relazionale

+ Il linguaggio SQL
--- linguaggio di definizione dei dati
--- linguaggio di manipolazione dei dati

+ Accesso alle basi di dati da programma
--- le interfacce JDBC per il linguaggio Java

+ Sviluppo di un’applicazione Web
--- paradigma Modello-Vista-Controllore (MVC)
--- Java servlet
--- Java server pages
--- applicazioni Web dinamiche e AJAX
Attivita' di apprendimento previste e metodologie di insegnamento: + Lezioni frontali in aula

+ Laboratorio:
--– strumenti per lo sviluppo di codice condiviso (SVN, Maven, Artifactory, Eclipse);
--- utilizzo di un sistema di gestione di basi di dati open source (PostgreSQL);
--- accesso da programma ad una base di dati (JDBC);
--- sviluppo di applicazioni Web (Java servlet, Java Server Pages, AJAX, Tomcat)

+ Seminari
Eventuali indicazioni sui materiali di studio: Il materiale di studio consiste di:
+ testo di riferimento
+ lucidi del corso messi a disposizione degli studenti
+ letture consigliate e di approfondimento

Letture consigliate:
+ Atzeni, P., Ceri, S., Paraboschi, S., and Torlone, R. (2009). Basi di dati - Modelli e linguaggi di interrogazione, 3/ed. McGraw-Hill, Milano, Italia.
+ Ramakrishnan, R. and Gehrke, J. (2004). Sistemi di basi di dati. McGraw- Hill, Milano, Italia.
+ Batini, C., Ceri, S., and Navathe, S. B. (1992). Conceptual Database Design. An Entity-Relationship Approach. The Benjamin/Cummings Publishing Company, Inc., Redwood City (CA), USA.
+ Batini, C., De Petra, G., Lenzerini, M., and Santucci, G. (2002). La progettazione concettuale dei dati. Franco Angeli, Milano.
+ Atzeni, P., Batini, C., and De Antonellis, V. (1985). La teoria relazionale dei dati. Boringhieri, Torino, Italia.
+ Celko, J. (2011). Joe Celko's SQL for Smarties: Advanced SQL Programming. Morgan Kaufmann Publishers, San Francisco (CA), USA.
Testi di riferimento:
  • Ramez A. Elmasri, Shamkant B. Navathe, Sistemi di basi di dati. Fondamenti (6 edizione). --: Pearson Education, 2011. Cerca nel catalogo