Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Informatica - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
| Insegnamenti | Crediti | TAF | SSD |
|---|
Analisi matematica I
Architettura degli elaboratori
2° Anno Attivato nell'A.A. 2024/2025
| Insegnamenti | Crediti | TAF | SSD |
|---|
Analisi matematica II
3° Anno Attivato nell'A.A. 2025/2026
| Insegnamenti | Crediti | TAF | SSD |
|---|
Un insegnamento a scelta| Insegnamenti | Crediti | TAF | SSD |
|---|
Analisi matematica I
Architettura degli elaboratori
| Insegnamenti | Crediti | TAF | SSD |
|---|
Analisi matematica II
| Insegnamenti | Crediti | TAF | SSD |
|---|
Un insegnamento a scelta| Insegnamenti | Crediti | TAF | SSD |
|---|
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Basi di dati (2025/2026)
Codice insegnamento
4S00037
Crediti
12
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Corsi Singoli
Autorizzato
L'insegnamento è organizzato come segue:
Teoria
Tecnologie per le basi di dati
Laboratorio
Obiettivi di apprendimento
Il corso si propone di fornire le competenze necessarie per: (i) la progettazione dei dati in funzione dei requisiti con riferimento a diversi contesti applicativi e nell'ambito del processo di produzione di sistemi software; (ii) la gestione e fruizione efficace ed efficiente dei dati; (iii) l'uso di un sistema per la gestione di basi di dati relazionali al fine di creare, gestire e interrogare basi di dati; (iv) lo sviluppo di applicazioni che interagiscono con basi di dati relazionali. Al termine del corso lo studente dovrà dimostrare di avere conoscenze e capacità di comprensione dei modelli dei dati e dei linguaggi di interrogazione che caratterizzano i sistemi per la gestione dei dati e conoscenza dei meccanismi fondamentali per sviluppare applicazioni che interagiscano con una base di dati; avere capacità di applicare le conoscenze acquisite e capacità di comprensione per la progettazione di una collezione di dati in modo efficace rispetto ad un insieme di requisiti applicativi, capacità di interrogare e fruire in modo efficiente dei dati gestiti da un sistema, capacità di progettare e implementare un'applicazione che interagisce con una base di dati; saper sviluppare le competenze necessarie per proseguire gli studi in modo autonomo nell’ambito dei sistemi per la gestione dei dati e dello sviluppo di soluzioni software.
Prerequisiti e nozioni di base
Conoscenze di base di algebra lineare, logica, programmazione e sistemi operativi (memoria secondaria e file system)
Programma
Il programma viene specificato di seguito per ogni modulo.
Modulo di Teoria
-------------------------
- Introduzione ai sistemi per la gestione di basi di dati: architettura e funzionalità di un sistema per la gestione di basi di dati; concetti di indipendenza fisica, indipendenza logica, persistenza, concorrenza, affidabilità, interrogazione e aggiornamento di una base di dati; vantaggi di un sistema per la gestione di basi di dati rispetto al file system di un sistema operativo.
- Progettazione concettuale di una base di dati: definizione di sistema informativo, modelli concettuali per il progetto dei dati; il modello Entità-Relazione (E-R); elementi del modello E-R: entità, attributi, relazioni, gerarchie di generalizzazione e vincoli di cardinalità; lo schema concettuale di una base di dati.
- Progettazione logica di una base di dati: modelli dei dati per i sistemi di gestione di basi di dati: il modello relazionale e il modello dei sistemi basati sui documenti; definizioni di relazione, vincoli di integrità e schema relazionale; regole per la traduzione di schemi concettuali in schemi relazionali; progettazione logica nei sistemi basati sui documenti: etichettatura dello schema ER, traduzione in JSON.
- Interazione con una base di dati: introduzione ai linguaggi per la definizione, modifica e interrogazione di una base di dati; l’algebra relazionale; ottimizzazione di espressioni dell'algebra; il calcolo relazionale; il linguaggio di interrogazioni di MongoDB (cenni).
Modulo di Laboratorio
--------------------------------
- Introduzione al Relational DataBase Management System (RDBMS) PostgreSQL.
- Introduzione all'uso di SQL in PostgreSQL.
- Ottimizzazione di query.
- Introduzione alle transazioni.
- Accesso alla basi dati da programmi Python.
- Introduzione all'uso del DBMS NoSQL MongoDB.
Modulo di Tecnologie per le basi di dati
---------------------------------------------------------
- L'architettura interna di un sistema per la gestione di basi di dati (DBMS): rilevanza dei sistemi transazionali, concetto di transazione, proprietà di una transazione, controllo della concorrenza (il metodo basato sul locking a due fasi), metodi di accesso ai dati (strutture dati sequenziali e indici B-tree e hashing)
- Esecuzione e ottimizzazione di interrogazioni in linguaggio SQL.
- L'architettura di un sistema NoSQL document-based: il caso di MongoDB.
Bibliografia
Modalità didattiche
Modulo di Teoria
-------------------------
Modalità di erogazione della didattica: lezioni frontali in presenza (fruibili anche in streaming registrato; le registrazioni saranno rese disponibili su richiesta agli studenti impossibilitati a seguire in presenza o in streaming), esercitazioni in aula con il docente, materiale didattico (lucidi) ed esercizi ulteriori disponibili sulla piattaforma eLearning, ricevimento negli orari indicati sulla pagina web del docente.
Modulo di Laboratorio
--------------------------------
Modalità di erogazione della didattica: lezioni frontali in aula ed esercitazioni in laboratorio informatico, materiale didattico (lucidi) ed ulteriori esercizi sulla piattaforma eLearning, ricevimento individuale negli orari concordati con il docente.
Modulo di Tecnologie per le basi di dati
---------------------------------------------------------
Modalità di erogazione della didattica: lezioni frontali, esercitazioni in aula con il docente, materiale didattico (lucidi) ed esercizi ulteriori disponibili sulla piattaforma eLearning, ricevimento negli orari indicati sulla pagina web del docente.
Modalità di verifica dell'apprendimento
L'esame è composto di due parti: prova di Teoria, prova integrata di Tecnologie e Laboratorio.
Moduli di Teoria
--------------------------------------------------------------------
Per il moduli "Teoria" è prevista una prova scritta di 2 ore circa che consiste in un esercizio sulla progettazione concettuale (modello E-R) e logica (modello relazionale e/o JSON) di una base di dati, in alcuni esercizi sulle interrogazioni in algebra relazionale e calcolo relazionale su una base di dati assegnata e in alcune domande sulla parte di teoria. Nella sezione TEMI D'ESAME E ALTRI ESERCIZI RIEPILOGATIVI della piattaforma eLearning sono disponibili temi d'esame degli anni precedenti.
E' possibile inoltre durante l'anno sostenere delle prove in itinere: tali prove sono fissate dal docente in accordo con gli studenti. Si tratta di due prove: (i) la prima prova sulla progettazione di una base di dati, includendo progettazione concettuale (modello E-R) e logica (modello relazionale e/o JSON); (ii) la seconda sull'interrogazione di una base di dati relazionale in algebra relazionale e calcolo relazionale. La prova complessiva o l'unione delle due prove intermedie pesano complessivamente 6 crediti su 12.
Modulo di Tecnologie e Laboratorio
---------------------------------
Per il modulo di "Tecnologie " e il modulo di "Laboratorio" è prevista una prova scritta di due ore che prevede:
(i) LAB - domande di teoria e esercizi sull'ottimizzazione di interrogazioni SQL in postgreSQL e sulla stesura di codice in Python per l'accesso ad una base di dati relazionale.
(ii) TECH - domande di teoria e esercizi sulle interrogazioni SQL e noSQL, i sistemi transazionali, il concetto e le proprietà di una transazione, il controllo della concorrenza (VSR, CSR e locking a due fasi), i metodi di accesso ai dati (indici B-tree e hashing), architettura di MongoDB.
La prova di tecnologie pesa 6 crediti su 12 del voto complessivo.
Criteri di valutazione
Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i concetti che stanno alla base della teoria delle basi di dati relazionali e della loro progettazione e implementazione sui sistemi per la gestione di basi di dati relazionali
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico senza divagazioni
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.
Criteri di composizione del voto finale
La valutazione finale in trentesimi si ottiene facendo la media pesata del voto ottenuto nella prova di teoria (6/12) e del voto ottenuto nella prova integrata di Tecnologie e Laboratorio (6/12).
Lingua dell'esame
italiano
