TECNOLOGIE PER LE BASI DI DATI

Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita all’anno accademico di tuo interesse? Ecco come fare >>
English course description
Anno accademico
2017/2018
Docente
FABRIZIO RIGUZZI
Crediti formativi
6
Periodo didattico
Secondo Semestre
SSD
ING-INF/05

Obiettivi formativi

L'obiettivo principale del corso consiste nel rendere gli studenti in grado di realizzare la progettazione fisica di database relazionali e sviluppare applicazioni complesse che si interfacciano ad un database. Inoltre, il corso illustrerà le conoscenze di base su big data e database NoSQL.
Le principali conoscenze acquisite sono relative a:
- tecnologie dei Data Base Management Systems (DBMS),
- elaborazione delle interrogazioni,
- gestione delle transazioni,
- organizzazione fisica dei DBMS SQL Server, Oracle e DB2,
- tecnologie per le datawarehouses e database NoSQL.
Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) sono:
- progettazione fisica di un database,
- sviluppo di applicazioni complesse che si interfacciano ad un database,
- progettazione logica di una datawarehouse.

Prerequisiti

E’ necessario avere acquisito e assimilato le seguenti conoscenze fornite dal corsi "Basi di Dati" e "Fondamenti di Informatica":
- modello relazionale dei dati,
- linguaggio SQL di manipolazione e interrogazione dei dati,
- linguaggi di programmazione procedurale (Java, C).

Contenuti del corso

Il corso prevede 60 ore di didattica frontale parte in aula e parte in laboratorio.
Introduzione ai principali DBMS (5 ore): SQL Server, Oracle, DB2.
SQL nei linguaggi di programmazione (20 ore): Persistent Stored Modules, JDBC, Object-relational mappings, ADO.NET, vincoli e trigger.
Tecnologie dei DBMS (15 ore): hardware, record nei blocchi, storage manager, indici, hashing, organizzazione fisica in SQL Server, sort esterno, elaborazione delle query, ottimizzazione delle query.
Progetto fisico (2,5 ore): progetto fisico in SQL Server, Oracle, DB2.
Gestione delle transazioni (7,5 ore).
Datawarehouse e OLAP (7,5 ore).
Databse NoSQL (2,5 ore).

Metodi didattici

Il corso è diviso in 60 ore di lezione parte in aula e parte nel laboratorio di informatica.
Le lezioni riguardano gli argomenti del corso e includono esercitazioni guidate al calcolatore riguardo a SQL nei linguaggi di programmazione.

Modalità di verifica dell'apprendimento

L'obiettivo della prova d'esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati.
L'esame consiste di una prova scritta, di una prova teorica e di un elaborato.
La prova scritta contiene quattro esercizi: uno sulla recovery, uno sullo scheduling delle transazioni, uno sugli indici e uno sul calcolo del costo di una query. La prova dura due ore. Vale fino a 17 punti. Non è consentito utilizzare PC personali o smart phone. E' consentito usare materiale didattico.
La prova teorica consiste di tre domande sugli argomenti teorici del corso. Vale fino a 15 punti. Non è consentito utilizzare né PC personali o smart phone né materiale didattico.
L'elaborato consiste nello sviluppare in un linguaggio di programmazione a scelta dello studente una applicazione che si interfacci ad un database. Il database deve contenere almeno 5 tabelle e l’applicazione deve eseguire almeno una query di join, un comando di insert, uno di update e uno di delete. Il DBMS usato deve essere SQL Server, Oracle o DB2. L’elaborato deve essere mostrato al docente in funzione su un portatile. La valutazione è di tipo “si/no”: se l’elaborato rispetta i requisiti e funziona è “sì”.
Il voto finale è dato dalla somma dei voti nelle due parti. Per superare l'esame il voto della prova scritta deve essere almeno 9, il voto della prova teorica deve essere almeno 9 e occorre avere presentato un elaborato valutato “sì”.
Si possono sostenere le tre prove in appelli diversi e in sessioni diverse.

Testi di riferimento

Dispense del docente.

Fabrizio Riguzzi, Arianna Fabbri, and Elena Zuffi. Sistemi informativi. Collana Progetto Leonardo. Esculapio, Bologna, Italia, novembre 2011, isbn 978-88-7488-472-8.