Basi di dati - I modulo (laurea triennale in Informatica, canale A-L)
Anno accademico 2019-20
Docente: Prof. M. Moscarini
Orario di ricevimento: mercoledì 12-13
AVVISO IMPORTANTE
Si informano gli studenti che hanno intenzione di sostenere l'esame del I modulo di Basi di Dati nell' appello di ottobre che l'esame si svolgerà online e li si invita a prendere visione di quanto previsto dall'ateneo: https://www.uniroma1.it/it/notizia/covid-19-fase-3-lezioni-esami-e-lauree-presenza-e-distanza
(in particolare AZIONI DELLO STUDENTE).
MODALITA' ESAME DI BASI DI DATI (12 CFU)
Per superare l'esame di Basi di dati è necessario aver superato gli esami di entrambi i moduli e il voto sara' la media dei voti riportati nei due esami.
Gli esami dei due moduli possono essere sostenuti in un qualsiasi ordine.
MODALITA' ESAME DEL I MODULO
L'esame del I modulo consiste di una prova scritta e una prova orale.
La prova scritta ha la durata di 2 ore. Se si supera lo scritto si e' ammessi all'orale che deve essere superato nella stessa sessione (
vedi sotto) dello scritto (altrimenti occorre rifare lo scritto).
Il voto del I modulo non dipende dal voto dello scritto, ma solo dal voto dell'orale.
SESSIONI
- la
sessione estiva comprende: gli appelli di
giugno e
luglio
- la
sessione autunnale comprende: l'appello di
settembre e l'
appello straordinario di novembre (quest'ultimo solo per gli studenti a cui è riservato: fuori corso, lavoratori, ecc.)
- la
sessione invernale comprende: gli appelli di
gennaio e
febbraio (compreso l'
esonero di gennaio/febbraio per gli studenti che nell'a.a. in corso sono iscritti al II anno) e l'
appello straordinario di aprile (quest'ultimo solo per gli studenti a cui è riservato: fuori corso, lavoratori, ecc.)
MODALITA' PRENOTAZIONE
Se in un appello si intende sostenere una
qualsiasi prova (scritta o orale) di un
qualsiasi modulo (I o II) occorre prenotarsi per quell'appello su Infostud;
chi non si è prenotato non è ammesso a sostenere l'esame. Tenere presente che su Infostud non c'è distinzione tra I e II modulo in quanto fanno parte di un unico insegnamento (Basi di dati).
Se a gennaio/febbraio si vuole sostenere l'
esonero (anche solo lo scritto) del I modulo occorre prenotarsi su Infostud.
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 (indici densi e indici sparsi).
- 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.
Testi
1. R. A. Elmasri, S. B. Navathe, “Sistemi di basi di dati – Fondamenti”, Pearson – Addison Wesley, IV edizione, 2004.
2. J. D. Ullman, “Principles of database and knowledge-base systems”, vol. I, Computer Science Press, 1988.
Dispense e altro materiale didattico