Basi di Dati

A.A. 2023-24

  • Docente: Giuseppe Perelli
  • Google Classroom: Iscriviti per restare aggiornato sul corso.
  • Canale M-Z: da qui è possibile accedere al sito del corso per il canale M-Z, della Prof.ssa De Marsico, contenente ulteriori informazioni e materiale didattico.
  • Codice OPIS: AK17360H (vademecum)

Materiale didattico

  • Le dispense della Prof.ssa Moscarini sono parte integrante del materiale didattico. Le slide rappresentano le lezioni del corso, basate sul contenuto delle dispense e integrate con esempi ed annotazioni.

  • Testi consigliati:
    • [B1] J. D. Ullman: Principles of Database & Knowledge-Base Systems, Vol. 1: Classical Database Systems
    • [B2] Lemahieu, W., vanden Broucke, S., & Baesens, B. (2018). Principles of Database Management: The Practical Guide to Storing, Managing and Analyzing Big and Small Data. Cambridge University Press
  • Slides ATTENZIONE: le slide sono in Inglese poiché condivise con il corso di Data Management and Analysis del CdS in Applied Computer Science and Artificial Intelligence (ACSAI).
  • Appunti ATTENZIONE: potete segnalare eventuali errori inviandomi una email.
  • Esercizi
  • Tracce esami precedenti
  • Simulazioni d’esame
Orario

Le Lezioni si terranno in Aula III del Dipartimento di Chimica, edificio Caglioti (CU032) a partire da Mercoledì 27 Settembre secondo il seguende calendario.

  • Mercoledì: dalle 14:00 alle 17:00 (a partire dal 18 Ottobre, le lezioni inizieranno alle 14:30 e avranno una sola pausa di 15 minuti nel mezzo)
  • Giovedì: dalle 15:00 alle 17:00 (occasionalmente, si procederà fino alle 16:30 senza effettuare pause nel mezzo)
Ricevimento

Il ricevimento è previo appuntamento. Inizierà Venerdì 27 Ottobre in orario e data come segue.

  • Venerdì: dalle 16:00 alle 18:00 al Dipartimento di Informatica, Edificio E, Viale Regina Elena, 295.

In caso di necessità, si può concordare un appuntamento fuori dall’orario di ricevimento.

Programma

  • Introduzione ai sistemi di gestione di basi di dati
    • Cenni storici. Aspetti caratterizzanti dei sistemi di gestione di basi di dati. Evoluzione di modelli e sistemi.
  • Il modello relazionale
    • Concetti di base: dominio, attributo, relazione, n-upla, schema. I linguaggi di interrogazione (algebra relazionale, linguaggi relazionalmente completi). Teoria della normalizzazione Dipendenze funzionali. Chiave di una relazione Terza forma normale. Assiomi di Armstrong e chiusura di un insieme di dipendenze. Chiusura di un insieme di attributi. Copertura minimale di un insieme di dipendenze. Scomposizioni che hanno un join senza perdita. Scomposizioni che preservano le dipendenze.
  • L’organizzazione fisica dei dati
    • La memoria secondaria. Record fisici e record logici. Puntatori. Blocchi. File heap. File hash. File con indice (ISAM). B-tree
  • La gestione della concorrenza
    • Transazioni. Schedule seriale. Serializzabilità. Modelli di transazioni e meccanismi di locking. Livelock e deadlock. Protocolli a due fasi. Protocolli conservativi e aggressivi. Dati “sporchi”. Rollback a cascata. Timestamp.

Modalità d’esame (Leggere attentamente)

  • Per superare il Modulo 1 è necessario superare una parte scritta e una parte orale, entrambi obbligatori.
    • La parte scritta (circa 2 ore) consiste in tre sezioni di esercizi su: Algebra Relazionale, Teoria Relazionale, Organizzazione Fisica.
    • La parte scritta è superata se tutte le sezioni sono valutate con un punteggio sufficiente (6/10) ed è obbligatorio per accedere alla parte orale
    • La parte orale consiste in domande su:
      • Definizioni e nozioni di base sulla Teoria Relazionale
      • Dimostrazioni di teoremi in Teoria Relazionale
      • Organizzazione fisica
      • Concorrenza
    • L’esame orale si svolge solitamente una settimana dopo la prova scritta. Tuttavia, questo dipende molto dal tempo necessario per correggere tutte le prove scritte, che è soggetto a variazioni, a causa dei miei impegni e del numero di studenti che sostengono l’esame.
  • Uno scritto superato può essere conservato soltanto durante la stessa sessione d’esami. Per esempio, se lo scritto è superato nell’appello di Gennaio, questo è valido anche per l’appello di Febbraio, ma non per quello di Giugno.
  • Tuttavia, se lo studente non supera l’orale, lo scritto non è più conservato.
  • Le lezioni si svolgono in presenza e non sono registrate.
  • Gli esami si svolgono esclusivamente in presenza. Non è più consentito svolgere esami da remoto.

Verbalizzazione (Leggere attentamente)

  • Il corso è il primo dei due moduli di Basi di Dati. Il secondo modulo è tenuto nel secondo semestre dal Prof. Toni Mancini.
  • Per verbalizzare l’intero esame da 12 crediti, bisogna superare entrambi i moduli separatamente. Questo vale senza eccezione alcuna, compresi gli studenti Erasmus. Non c’è limite di tempo tra il superamento dei due moduli per la verbalizzazione finale.
  • Per ragioni amministrative, gli studenti che superano il Modulo 1, ma che non hanno ancora superato il Modulo 2, saranno registrati con un rinuncia sul verbale. Contestualmente, riceveranno un’email dal docente con la conferma del superamento del modulo, data e valutazione, a garanzia del superamento stesso.