TECNOLOGIE PER LE BASI DI DATI
Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente?
Ecco come fare >>
- English course description
- Anno accademico
- 2021/2022
- 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. 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 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, DB2 o PostgreSQL. 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.