Basi di Dati (A.A. 2025/2026)
A chi è rivolto il corso. Il corso, tenuto nel primo semestre (periodo didattico da settembre 2024 a dicembre 2024), è di 6 crediti, ed è rivolto specificamente agli studenti del terzo anno del Corso di Laurea in Ingegneria Informatica e Automatica della Sapienza Università di Roma.
Prerequisiti. Si richiede la conoscenza dei fondamenti di: programmazione, linguaggi di programmazione, strutture di dati e sistemi operativi.
Obiettivi. L'obiettivo del corso è lo studio degli aspetti fondamentali della gestione dei dati, dei sistemi per la gestione di basi di dati e delle metodologie di progettazione di basi di dati. Alla fine del corso lo studente dovrebbe avere acquisito le nozioni di base della gestione dei dati e le tecniche e metodi per condurre il progetto di una basi di dati e per utilizzare le funzionalità fondamentali (definizione della base di dati, aggiornamento della base di dati, interrogazioni sulla base di dati) dei sistemi di gestione di basi di dati nell'ambito dello sviluppo e dell'esercizio di sistemi informatici. Il corso fa esplicito riferimento sia alle basi di dati relazionali e ai relativi sistemi di gestione fondati sul linguaggio SQL, sia ad alcuni modelli e sistemi NoSQL (Not only SQL).
- 22 settembre 2025 Le lezioni del corso inizieranno il giorno 24 settembre 2025.
- Il tutor del corso è la dott.ssa Laura Papi. Per contattarla, scrivete a laura.papi [ A T ] uniroma1.it .
- D. Calvanese, G. De Giacomo, M. Lenzerini - Materiale didattico relativo alle lezioni del corso.
Il materiale didattico viene reso disponibile mediante il sistema MOODLE, ed è scaricabile accedendo alla sezione MOODLE del corso di Basi di dati A.A. 2025/26. Gli studenti che frequentano il corso e che vogliono scaricare il materiale didattico e partecipare al forum del corso devono iscriversi accedendo alla pagina MOODLE del corso stesso. Si rende noto che gli studenti della Sapienza possono accedere al sistema MOODLE usando le credenziali ufficiali dell'ateneo.
- Consigliato ma non necessario: Ramez A. Elmasri, Shamkant B. Navathe. Sistemi di basi di dati. Fondamenti e complementi. Pearson (collana: Informatica), 2017
- Mini tutorial su PostgreSQL per esercitazioni in SQL - preparato dal dott. Gianluca Cima: per Linux, per Windows
Per le informazioni sulla trasmissione e sulle registrazioni delle lezioni si rimanda alla sezione MOODLE del corso. Le lezioni si svolgeranno con il seguente orario:
- lunedì: [ore 14:00 - 16:00] Sede Marco Polo, viale dello Scalo S. Lorenzo, 82, aula 204
- mercoledì: [ore 14:00 - 16:00] Sede Marco Polo, viale dello Scalo S. Lorenzo, 82, aula 204
- giovedì: [ore 14:00 - 16:00] Sede Marco Polo, viale dello Scalo S. Lorenzo, 82, aula 204
- venerdì: [ore 08:00 - 11:00] Laboratorio Paolo Ercoli, via Tiburtina 205, aula 16
Il materiale delle esercitazioni, comprese le soluzioni degli esercizi, è scaricabile sempre accedendo alla sezione MOODLE del corso.
| Week | Lunedì (14:00 - 16:00) aula 204 | Mercoledì (14:00 - 16:00) aula 204 | Giovedì (14:00 - 16:00) aula 204 | Venerdì (08:00 - 11:00) lab 16 |
| 01 (Set 22) |
|
Lezioni 1,2 - Introduzione alle basi di dati - Il modello relazionale: le strutture |
Lezioni 3,4 - L'algebra relazionale - Esercitazione 1: primi esercizi in algebra relazionale |
Lezioni 5,6 (2 turni in laboratorio da 1,5 ore ciascuno, 1° turno A-L) - Esercitazione 2: esercizi in algebra relazionale |
| 02 (Set 29) |
Lezioni 7,8 - Self join in algebra relazionale - Introduzione ad SQL |
Lezioni 9,10 - L'istruzione select in SQL: forma base |
Lezioni 11,12 - L'istruzione select in SQL: il join esplicito, l'outer join e le query aggregate |
Lezioni 13,14 (1 turno in laboratorio) - Esercitazione 3: primi esercizi in SQL |
| 03 (Oct 06) |
Lezioni 15,16 - Funzioni aggregate e query aggregate in SQL |
|
Lezioni 17,18 - Vincoli di integrità nel modello relazionale - La definizione e la manipolazione dei dati in SQL |
Lezioni 19,20 (2 turni in laboratorio da 1,5 ore ciascuno, 1° turno M-Z) - Esercitazione 4: esercizi in SQL - definizione di una base di dati e sua interrogazione |
| 04 (Oct 13) |
Lezioni 21,22 - Query annidate in SQL - Regole di visibilità in SQL |
Lezioni 23,24 - Caratteristiche avanzate di SQL - Politiche di reazione alla violazione dei vincoli |
Lezioni 25,26 - Stored procedure in SQL |
Lezioni 27,28 - Esercitazione 5: esercizi in SQL - gestione di vincoli di integrità in SQL |
| 05 (Ott 20) |
Lezioni 29,30 - Trigger in SQL |
Lezioni 31,32 - Il modello Entità-Relazione: le nozione di entità, relazione e attributo |
Lezioni 33,34 - Semantica delle relazioni con ruoli - Primi esercizi di progettazione |
Esercitazione 6: esercizi in SQL sui trigger e di preparazione al test SQL |
| 06 (Ott 27) |
Lezioni 35,36 - La relazione ISA tra entità - La relazione ISA tra relazioni |
|
Esercitazione 7 - Esercizi sul modello ER - Esercizio di modellazione concettuale |
Esercitazione 8: esercizi di preparazione al test SQL |
| 07 (Nov 03) |
Lezioni 37,38 - I vincoli di cardinalità nel modello ER |
Lezioni 39,40 - I vincoli di identificazione nel modello ER |
|
Esercitazione 9: esercizi di preparazione al test SQL |
| 08 (Nov 10) |
Interruzione della didattica | Interruzione della didattica | Interruzione della didattica | Test SQL in laboratorio |
| 09 (Nov 17) |
||||
| 10 (Nov 24) |
||||
| 11 (Dec 01) |
||||
| 12 (Dec 08) |
||||
| 13 (Dec 15) |
- 1. Introduzione alle basi di dati. Basi di dati e sistemi informativi. Sistemi di gestione di basi di dati.
- 2. Il modello relazionale. Basi di dati relazionali. Il modello relazionale. Algebra relazionale.
- 3. Il linguaggio SQL. Definizione dei dati. Interrogazioni. Vincoli di integrità. Manipolazione dei dati. Viste. Transazioni.
- 4. Accesso alle basi di dati da software. Accesso da software interno mediante PL/pgSQL. Accesso da software esterno mediante il protocollo JDBC di Java.
- 5. La progettazione concettuale. Modelli concettuali. Il modello Entità-Relazione. Metodologie per la progettazione concettuale. Qualità di uno schema concettuale.
- 6. La progettazione logica/fisica. Ristrutturazione dello schema ER. Traduzione diretta nel modello relazionale. Ristrutturazione dello schema relazionale. Cenni di progettazione fisica.
- 7. (Argomento facoltativo) Introduzione ai modelli e ai sistemi NoSQL. Proprietà dei modelli NoSQL. Cenno ai sistemi NoSQL. Modelli a documenti ed il sistema MongoDB. Il modello a grafo ed il sistema Neo4j.
- Il test SQL: affinché lo studente possa prenotarsi per l'esame ella/egli deve aver superato la "prova di idoneità" su SQL (Test SQL). Il primo test SQL, riservato a coloro che frequentano il corso, viene tenuto in presenza durante le lezioni; per quest'anno, la data provvisoria è il 14 novembre 2025.
Dopo la edizione del test SQL svolta durante il periodo di lezione e riservate agli studenti frequentanti, le prove del test SQL sono previste a gennaio, febbraio, maggio o giugno (a seconda della disponibilità del laboratorio), e settembre 2025. Le prove si svolgono in presenza, di norma nel laboratorio di via Tiburtina ,ed ognuna consiste nello scrivere una porzione di codice SQL usando un opportuno DBMS e avendo a disposizione una base di dati sulla quale poter verificare la correttezza di quanto prodotto.
Ricordiamo che, una volta superato il test SQL, lo studente si può prenotare e presentarsi per la prova d'esame ad un qualunque appello dello stesso anno accademico. Essendo il corso di Basi di dati erogato da settembre a dicembre, ed essendo quindi il primo appello dopo le lezioni quello di gennaio, questo vuol dire che lo studente in ogni anno accademico in cui supera il test SQL si può prenotare per un qualunque appello fino a quello di settembre (o ottobre, se lo studente può partecipare all'appello straordinario di ottobre), ma non oltre. All'inizio di ogni anno accademico, la lista di coloro che hanno superato il test SQL viene azzerata e quindi chi vuole superare l'esame di basi di dati deve rifare il test SQL stesso.
- In cosa consiste l'esame: l'esame consiste di una prova scritta ed eventualmente di una prova orale, a discrezione del docente. Nella prova scritta, per la quale si hanno a disposizione 2 ore, si richiede lo sviluppo di un progetto di basi di dati di dimensione ridotte e la risposta ad altre domande relative al programma del corso. Nel caso in cui il docente reputi necessario un orale per effettuare correttamente la valutazione dell'esame, lo studente viene convocato per una prova orale che potrà consistere in una discussione dell'elaborato della prova scritta e in altre domande sul programma d'esame.
- Testi di esame: si possono consultare i testi d'esame degli appelli di diversi anni accademici
- Prenotazione degli esami: per la prenotazione, gli studenti devono utilizzare il servizio del sistema Infostud.
- Calendario previsto degli esami
- Primo appello: gennaio 2026
- Secondo appello: febbraio 2026
- Primo appello straordinario (per studenti fuori corso, part time, con disabilità e con D.S.A.): aprile 2026
- Terzo appello: giugno 2026
- Quarto appello: luglio 2026
- Quinto appello: settembre 2026
- Secondo appello straordinario (per studenti studenti part-time, fuori corso, iscritti per l’A.A. 2025-2026 al terzo anno della laurea e al secondo anno della laurea magistrale, studenti con disabilità e con D.S.A.): ottobre 2026
- I dati sulla valutazione del corso per gli anni accademici precedenti sono pubblicati nelle pagine relative alle edizioni precedenti del corso stesso. I dati della edizione 2025/2026 verranno pubblicati in questa pagina appena disponibili.
- Anno accademico 2024/2025
- Anno accademico 2023/2024
- Anno accademico 2022/2023
- Anno accademico 2021/2022
- Anno accademico 2020/2021
- Anno accademico 2019/2020
- Anno accademico 2018/2019
- Anno accademico 2017/2018
- Anno accademico 2016/2017
- Anno accademico 2015/2016
- Anno accademico 2014/2015
- Anno accademico 2013/2014
- Anno accademico 2012/2013
- Anno accademico 2011/2012
- Anno accademico 2010/2011
- Anno accademico 2009/2010
- Anno accademico 2008/2009
- Per gli anni accademici dal 2001 al 2007, le pagine web sono state dismesse.