Basi di Dati
CdS Informatica
- Docente: Giuseppe Perelli
- Google Classroom: Iscriviti per restare aggiornato sul corso.
Materiale didattico
- Testi consigliati:
- [B1] A. Albano, G. Ghelli, R. Orsini: Fondamenti di Basi di Dati Testo gratuito
- [B2] J. D. Ullman: Principles of Database & Knowledge-Base Systems, Vol. 1: Classical Database Systems
- [B3] 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
- Slide ATTENZIONE: Il corso così articolato è alla sua prima edizione. Le slide sono in corso di stesura e saranno rese disponibili durante il corso, possibilmente prima della lezione corrispondente.
Aule e Orario delle lezioni
Aula De Lollis 4 - RM158-E01PTEL004
- Lunedì: 13:00 – 15:00
- Giovedì: 15:00 – 17:00
- Venerdì: 13:00 – 16:00
Ricevimento
Il ricevimento è previo appuntamento.
- Venerdì: dalle 10:00 alle 12: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.
Tutor
Il tutor per l’edizione corrente del corso è lo studente Francesco Signori. Svolgerà attività di esercitazione sia in aula che a gruppi, qualora richiesto.
Programma
-
Introduzione ai sistemi per basi di dati: I sistemi per basi di dati; Funzionalità dei DBMS; Definizione della base di dati; Uso della base di dati; Controllo della base di dati; Distribuzione della base di dati.
-
I modelli dei dati: Progettazione e modellazione; Considerazioni preliminari alla modellazione; Il modello entità-relazione; Il modello relazionale.
-
La progettazione di basi di dati: Le metodologie di progettazione; L’analisi dei requisiti; La progettazione concettuale; Dipendenze funzionali; Chiusura di un insieme di dipendenze funzionali; Chiavi.
-
Il modello relazionale: Il modello dei dati; I vincoli d’integrità; Progettazione logica relazionale; Algebra relazionale.
-
Normalizzazione di schemi relazionali: Le anomalie; Decomposizione di schemi; Decomposizioni che preservano i dati; Decomposizioni che preservano le dipendenze; Forme normali; Accenni alla forma Normale di Boyce-Codd; Terza forma normale; Copertura di un insieme di dipendenze; Normalizzazione di schemi in 3NF.
-
SQL per l’uso interattivo di basi di dati: Operatori per la ricerca di dati; Operatori per la modifica dei dati; Vincoli d’integrità; Procedure memorizzate; Trigger; Progettazione fisica; Definizione di indici; Schemi esterni.
-
Accenni a SQL per programmare le applicazioni: Linguaggi che ospitano SQL; Connessione alla base di dati; Comandi SQL; I cursori; Transazioni; Gestione della concorrenza.
Modalità d’esame
L’esame sarà costituito da un progetto di base di dati che può essere sviluppato in gruppo (Max 4 studenti) da un orale individuale.
Il progetto consiste nella formulazione di un modello dettagliato di base di dati, comprendente la sua strutturazione logica, la specifica dei vincoli di integrità e la sua normalizzazione. Inoltre è richiesta l’implementazione di query SQL sui dati progettati. La prova orale consiste nella discussione (individuale) del progetto e un’interrogazione sui concetti, le definizioni, e i teoremi affrontati durante il corso.
Per quanto riguarda il progetto, il protocollo è il seguente:
-
Non è necessario comunicare in anticipo la composizione dei gruppi;
-
Le prenotazioni su INFOSTUD scadono 4 giorni prima della data dell’appello;
-
Alla scadenza delle prenotazioni viene inviata la traccia con in aggiunta il link al google form da utilizzare per la consegna;
-
Alla data dell’appello (improrogabilmente) un rappresentante del gruppo compila il Google form con le informazioni su tutti i componenti del gruppo e un file pdf con il progetto. Gli schemi concettuali possono essere eventualmente prodotti tramite disegni a mano di cui inviare immagini;
-
Dopo circa una settimana vengono pubblicati i risultati e il calendario degli orali;
-
Tutti i componenti di uno stesso gruppo devono sostenere l’esame orale nello stesso appello;
-
L’esame orale è individuale: comprende la discussione preliminare del progetto e, in seguito all’eventuale risultato positivo, domande su tutto il programma del corso. Ogni componente del gruppo deve dimostrare di conoscere i dettagli del progetto nella sua interezza e deve rispondere a qualunque domanda ad esso relativa.
Se un componente del gruppo non supera la discussione del progetto, deve ripetere il progetto con eventualmente un altro gruppo o da solo
Se un componente del gruppo non supera l’orale successivo alla discussione del progetto, dovrà ripetere il solo orale nel primo appello utile seguente (anche in una sessione diversa)
Diario del Corso
- 24-09-2026 - Introduzione ai sistemi informativi e alle basi di dati.
- 25-09-2026 - Introduzione ai Modelli di Dati e alla Progettazione.
- 28-09-2026 - La progettazione concettuale.
- 01-10-2026 - La Esercitazione sulla progettazione concettuale.
- 02-10-2026 - Il modello relazionale. Ristruttrazione di un modello E-R.
- 05-10-2026 - Traduzione di un modello E-R in un modello relazionale.
- 08-10-2026 - Il modello relazionale. I vincoli d’integrità.
- 09-10-2026 - Esercitazione sui diagrammi E-R.
- 12-10-2026 - Il linguaggio SQL. DDL: Data Definition Language - Creazione Domini, Tabelle e Vincoli.
- 15-10-2026 - Il linguaggio SQL. DDL: Data Definition Language - Modifica Domini, Tabelle e Vincoli.
Edizioni Precedenti
-
A.A. 2025-26 Google Classroom
-
A.A. 2024-25 Google Classroom
-
A.A. 2023-24 Google Classroom
-
A.A. 2022-23 Google Classroom