Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA INFORMATICA
Insegnamento
BASI DI DATI
IN06100770, A.A. 2013/14

Informazioni valide per gli studenti immatricolati nell'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
N0
porta questa
pagina con te
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese DATABASE
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo NON è possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile NICOLA FERRO ING-INF/05

Mutuazioni
Codice Insegnamento Responsabile Corso di studio
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

Organizzazione dell'insegnamento
Periodo di erogazione Secondo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

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)
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
+ 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