DATA MANAGEMENT

Obiettivi formativi

Obiettivi generali: L'obiettivo del corso è l'indagine sui concetti di base dei sistemi di gestione dei dati, facendo riferimento sia al modello relazionale, sia a modelli NoSQL. Vengono affrontate diverse questioni fondamentali relative alla teoria e alla progettazione di sistemi di gestione dei dati relazionali, tra cui controllo della concorrenza, ripristino, organizzazioni di file e indici, elaborazione delle query, OLAP e OLTP. È richiesta una buona conoscenza dei fondamenti di strutture di programmazione, linguaggi di programmazione e database (SQL, modello di dati relazionali, modello di dati Entità-Relazione, progettazione di database concettuali e logici). Conoscenza e comprensione: Lo studente avrà una buona conoscenza di diversi modelli di dati, anche NoSQL, di come funziona un sistema di gestione dei dati, di come è strutturato e di come è progettato. Inoltre, lo studente acquisirà conoscenza dell'architettura di un sistema di gestione di database e dei suoi moduli principali (gestore delle transazioni, gestore di recupero, analizzatore di query). Lo studente acquisirà inoltre una buona conoscenza di come progettare l'organizzazione fisica delle relazioni (file e indici) e di come funziona l'ottimizzatore di query di un sistema di gestione dati. Applicare conoscenza e comprensione: Gli studenti saranno in grado di progettare il proprio sistema di gestione dei dati, incluso il modulo di controllo della concorrenza, il modulo di ripristino, il modulo per i metodi accesso ai file e l'ottimizzatore di query. Capacità critiche e di giudizio: Lo studente sarà in grado di valutare le caratteristiche e la qualità di diversi modelli di dati utilizzati nel mondo reale e dei relativi sistemi di gestione dei dati. Inoltre sarà in grado di scegliere la tecnica giusta per gestire la concorrenza, il recupero e l'elaborazione delle query in contesti applicativi specifici. Capacità comunicativa: Gli studenti acquisiranno una buona conoscenza su come illustrare gli algoritmi e le tecniche alla base di un moderno Data Manager. Capacità di apprendimento: Lo studente sarà in grado di comprendere qualsiasi nuova architettura e approccio alla gestione dei dati che si affermerà in futuro.

Canale 1
DOMENICO LEMBO Scheda docente

Programmi - Frequenza - Esami

Programma
1. Ripasso su basi di dati e SQL 2. Data warehousing: architetture, modellazione multidimensionale, OLAP 3. Metodologie di progettazione dei Data Warehouse; Il modello DFM; I modelli logici per i DW: lo schema a stella, lo schema a fiocco di neve 4. Modelli e sistemi NoSQL: il caso dei database a grafo; Il sistema Neo4j 5. La nozione di Knowledge Graph; Knowledge Graph RDFS: sintassi, semantica, inferenza 6. Modelli e sistemi NoSQL: il caso dei database a documenti; Il sistema MongoDB 7. La struttura di un Sistema di Gestione di Basi di Dati (DBMS) 8. Gestione del buffer: buffer pool, strategie di rimpiazzamento, operazioni sul buffer 9. Gestione della concorrenza: Il concetto di transazione; La nozione di serializzabilità; Strategie di gestione della concorrenza; Controllo della concorrenza in SQL e PostgreSQL; Recupero: gestione dei crash; Classificazione dei guasti; Strategie di recupero 10. Strutture fisiche per la gestione dei dati: organizzazione di record e pagine, organizzazione semplice dei file, organizzazione indicizzata dei file 11. Elaborazione delle query: valutazione degli operatori di algebra relazionale
Prerequisiti
È richiesta una buona conoscenza dei fondamenti delle Strutture di Programmazione (algoritmi e strutture dati), dei Linguaggi di Programmazione, dei Database (SQL, modello relazionale dei dati, modello Entità-Relazione, progettazione concettuale e logica di database), e dell'Informatica Teorica (complessità computazionale, calcolabilità).
Testi di riferimento
* Dispense distribuite dai docenti; * R. Ramakrishnan, J. Gehrke. Database Management Systems. McGraw-Hill, 2004; * Materiale aggiuntivo opzionale sul controllo della concorrenza: - http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx - Gerhard Weikum, Gottfried Vossen, "Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery", The Morgan Kaufmann Series in Data Management Systems.
Frequenza
La frequenza è fortemente consigliata ma non obbligatoria
Modalità di esame
Ogni studente può scegliere tra due opzioni: OPZIONE 1: sostenere solo l’esame scritto; in questo caso l’esame scritto è completo e il voto va da 18 a 30, come di consueto. OPZIONE 2: sostenere sia l’esame scritto che il progetto. In questo caso l’esame scritto è ridotto rispetto all’OPZIONE 1, il voto massimo è 24 e il voto minimo per superarlo è 15; per il progetto, il voto massimo è 8 e il voto minimo per superarlo è 4. Il voto finale sarà la somma dei due punteggi.
Bibliografia
Gerhard Weikum, Gottfried Vossen, "Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery", The Morgan Kaufmann, Series in Data Management Systems.
Modalità di erogazione
Lezioni frontali con sessioni di esercizi
ANTONELLA POGGI Scheda docente
  • Codice insegnamento1022797
  • Anno accademico2025/2026
  • CorsoEngineering in Computer Science and Artificial Intelligence - Ingegneria Informatica e Intelligenza Artificiale
  • CurriculumCurriculum unico
  • Anno1º anno
  • Semestre2º semestre
  • SSDING-INF/05
  • CFU6
  • Ambito disciplinareIngegneria informatica