Insegnamento
BASI DI DATI
IN06100770, A.A. 2014/15

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INGEGNERIA DELLE TELECOMUNICAZIONI
IN0524, ordinamento 2008/09, A.A. 2014/15
1095549
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

Mutuante
Codice Insegnamento Responsabile Corso
IN06100770 BASI DI DATI NICOLA FERRO IN0521

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
AFFINE/INTEGRATIVA Attività formative affini o integrative ING-INF/05 9.0

Modalità di erogazione
Periodo di erogazione Secondo semestre
Anno di corso II 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 02/03/2015
Fine attività didattiche 12/06/2015

Commissioni d'esame
Commissione Dal Al Membri
7 A.A. 2015/2016 01/10/2015 15/03/2017 FERRO NICOLA (Presidente)
AGOSTI MARISTELLA (Membro Effettivo)
DI NUNZIO GIORGIO MARIA (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
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 e le principali tecnologie Web (HTML, CSS, Javascript, AJAX)
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 effettivo di basi di dati realizzato 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
--- mappatura da concettuale a 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
--- HTML, fogli di stile CSS e Javascript
--- 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 (HTML, CSS, Javascript, 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:
+ Ramez A. Elmasri, Shamkant B. Navathe (2011). Sistemi di basi di dati. Fondamenti (6 edizione). Pearson Education, 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:
  • Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone, Basi di dati. Italia: McGraw Hill, 2014. iv edizione Cerca nel catalogo