Basi di Dati (A.A. 2024/2025)


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).

  • Avvisi
    • 2 ottobre 2024 Domani, giovedì 3 ottobre 2024, la lezione di Basi di dati non si terrà. Il corso riprenderà regolarmente venerdì 4 ottobre con l'esercitazione in laboratorio.
    • 27 settembre 2024 L'esame di Basi di dati della sessione di ottobre 2024 si svolgerà il giorno 18/10/2024, alle ore 18:00 in aula B2 (aula Marco Cadoli) di via Ariosto 25. Chi non si prenota entro la data stabilita non potrà partecipare all'esame e non ci sarà alcuna eccezione a questa regola. Si ricorda che può partecipare all'esame solo chi ha superato il Test SQL.
  • Tutor
    • Il tutor del corso è la dott.ssa Laura Papi. Per contattarla, scrivete a laura.papi [ A T ] uniroma1.it .
  • Materiale didattico
    • 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. 2024/25. 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
  • Lezioni: orari e aule
    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
  • Esercitazioni
    Il materiale delle esercitazioni, comprese le soluzioni degli esercizi, è scaricabile sempre accedendo alla sezione MOODLE del corso.

  • Lezioni: calendario e contenuti
    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 23)
    ------
    Lezioni 1,2
    - Introduzione alle basi di dati
    - Il modello relazionale: 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 30)
    Lezioni 7,8
    - Self join in algebra relazionale
    - Introduzione ad SQL
    Lezioni 9,10
    - L'istruzione select in SQL: forma base
    ------
    (turno unico on-line alle ore 8:30)
    - Esercitazione 3: primi esercizi in SQL
    03
    (Oct 07)
    Lezioni 11,12
    - L'istruzione select in SQL: il join esplicito, l'outer join e le query aggregate
    Lezioni 13,14
    - L'istruzione select in SQL: gli operatori insiemistici
    - Vincoli di integrità
    Lezioni 15,16
    - La definizione di basi di dati in SQL
    (2 turni in laboratorio da 1,5 ore ciascuno, 1° turno M-Z)
    - Esercitazione 4: esercizi in SQL con definizione di dati e group by
    04
    (Oct 14)
    05
    (Ott 21)
    06
    (Ott 28)
    07
    (Nov 04)
    08
    (Nov 11)
    09
    (Nov 18)
    10
    (Nov 25)
    11
    (Dec 02)
    12
    (Dec 09)
    12
    (Dec 16)
  • Programma preliminare del corso
    • 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.
  • Esami
    • 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 durante le lezioni.

      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, marzo, maggio o giugno (a seconda della disponibilità del laboratorio), e settembre 2024. Le prove si svolgono 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.

    • Punti bonus: Così come la lista di coloro che hanno superato il test SQL viene azzerata all'inizio di ogni accademico, anche eventuali punti bonus ottenuti da uno studente (per il test SQL o per altro) vengono azzerati all'inizio dell'anno accademico.
    • 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 2025
      • Secondo appello: febbraio 2025
      • Primo appello straordinario (per studenti fuori corso, part time, con disabilità e con D.S.A.): aprile 2025
      • Terzo appello: giugno 2025
      • Quarto appello: luglio 2025
      • Quinto appello: settembre 2025
      • Secondo appello straordinario (per studenti studenti part-time, fuori corso, iscritti per l’A.A. 2024-2025 al terzo anno della laurea e al secondo anno della laurea magistrale, studenti con disabilità e con D.S.A.): ottobre 2025
  • Dati sulla valutazione del corso da parte degli studenti
    • 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 2024/2025 verranno pubblicati in questa pagina appena disponibili.
  • Informazioni sulle edizioni passate del corso
  • Ricevimento studenti. Il martedì alle ore 17 on-line all'indirizzo https://meet.google.com/hzy-save-oqw -- si prega di consultare la sezione delle news per eventuali variazioni.