BASI DI DATI canale 2
Docente coordinatore e verbalizzante: GIUSEPPE PERELLI
Modulo 1: II MODULO
- Tipologia
- Discipline Informatiche
- SSD
- INF/01
- Anno
- N/D
- Semestre
- N/D
- CFU
- 6
- Distribuzione delle ore
- 36 classroom hours, 24 training hours
- Docenti
Modulo 2: I MODULO
- Tipologia
- Discipline Informatiche
- SSD
- INF/01
- Anno
- N/D
- Semestre
- N/D
- CFU
- 6
- Distribuzione delle ore
- 36 classroom hours, 24 training hours
- Docenti
- MARIA DE MARSICO
Obiettivi formativi
Obiettivi generali:
Essere in grado di progettare/valutare le proprietà, la struttura di memorizzazione e i protocolli di un sistema di gestione di basi di dati.
Esporre gli studenti a solide metodologie di progettazione e realizzazione di applicazioni per basi di dati
Obiettivi specifici:
Conoscenza delle proprietà di uno schema relazionale e di una decomposizione. Capacità di interrogare una base di dati. Capacità di valutare i costi delle operazioni di accesso ai dati. Conoscenza di protocolli di per il controllo della concorrenza.
Esporre gli studenti a metodologie formali e scalabili per l'analisi concettuale e la progettazione di applicazioni per basi di dati e a tecnologie standard per la realizzazione di basi di dati relazionali.
Conoscenza e comprensione:
Fondamenti teorici della progettazione e della interrogazione di una base di dati relazionale. Principali strutture di organizzazione dei dati su memoria secondaria. Principali tecniche usate nei DBMS per il controllo dell’esecuzione concorrente delle transazioni.
Gli studenti acquisiranno conoscenze metodologiche fondamentali per la progettazione di applicazioni per basi di dati non banali (in particolare per le fasi di: a) raccolta dei requisiti; b) analisi concettuale dei dati e delle funzionalità; c) progettazione della base dati e delle funzionalità) e per la loro realizzazione (utilizzo di DBMS relazionali e del linguaggio SQL).
Applicare conoscenza e comprensione:
Progettare schemi relazionali con “buone proprietà”. Interrogare una base di dati mediante algebra relazionale. Valutare i costi delle operazioni fondamentali su file con diversi tipi di organizzazione fisica.
Gli studenti saranno in grado di applicare in modo efficace le conoscenze acquisite in progetti reali di applicazioni per basi non banali.
Capacità critiche e di giudizio:
Essere in grado di valutare le proprietà di uno schema relazionale e di una sua decomposizione. Essere in grado di scegliere la struttura dati più appropriata per memorizzare le informazioni di uno schema.
Gli studenti saranno in grado di prendere autonomamente decisioni razionali in tutte le fasi del processo di progettazione di applicazioni per basi di dati.
Capacità comunicative:
Essere in grado di comunicare/condividere caratteristiche qualitative/quantitative relative alla struttura relazionale di una base di dati
Gli studenti saranno in grado di interagire in modo proficuo con i committenti (per quanto concerne la raccolta dei requisiti) e con altri analisi e progettisti (per quanto concerne le attività di analisi e progettazione di sistemi software non banali).
Capacità di apprendimento:
Essere in grado di utilizzare i concetti acquisiti nel modulo successivo del corso e in un eventuale corso avanzato di basi di Dati.
Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, manualistica tecnica nell'ambito della progettazione di applicazioni per basi di dati.
Risultati di apprendimento attesi
Obiettivi generali:
Essere in grado di progettare/valutare le proprietà, la struttura di memorizzazione e i protocolli di un sistema di gestione di basi di dati.
Obiettivi specifici:
Conoscenza delle proprietà di uno schema relazionale e di una decomposizione. Capacità di utilizzare le espressioni di algebra relazionale per la ricerca di informazioni in una base di dati relazionale. Capacità di valutare i costi delle operazioni di accesso ai dati.
Avere conoscenza e comprensione:
Fondamenti teorici della progettazione e della interrogazione di una base di dati relazionale (algebra relazionale). Principali strutture di organizzazione dei dati su memoria secondaria.
Applicare conoscenza e comprensione:
Progettare schemi relazionali con “buone proprietà”. Interrogare una base di dati mediante algebra relazionale. Valutare i costi delle operazioni fondamentali su file con diversi tipi di organizzazione fisica.
Capacità critiche e di giudizio:
Essere in grado di valutare le proprietà di uno schema relazionale e di una sua decomposizione. Essere in grado di scegliere la struttura dati più appropriata per memorizzare le informazioni di uno schema.
Capacità comunicative:
Essere in grado di comunicare/condividere caratteristiche qualitative/quantitative relative alla struttura relazionale di una base di dati.
Prerequisiti
Il corso è erogato nel Primo Semestre del Secondo Anno. È richiesta la conoscenza degli elementi di base della matematica e della logica acquisiti secondo i corsi erogati durante il primo anno.
Non sono previsti insegnamenti propedeutici. Tuttavia, si raccomanda di avere conoscenza degli argomenti trattati nei corsi di: Metodi Matematici per L’informatica, Introduzione agli algoritmi.
Programma dell’insegnamento
Modulo: II MODULO
N/D
Modulo: I MODULO
Introduzione ai sistemi di gestione di basi di dati (2 ore)
Cenni storici.
Aspetti caratterizzanti dei sistemi di gestione di basi di dati.
Evoluzione di modelli e sistemi.
Il modello relazionale (30 ore)
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 (14 ore)
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 (14 ore)
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 di riferimento
Modulo: II MODULO
N/D
Modulo: I MODULO
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.
Materiale e dispense del corso
Esempi di esercizi di esame
Bibliografia
Modulo: II MODULO
N/D
Modulo: I MODULO
N/D
Modalità di svolgimento
Lezioni frontali.
Frequenza
Non obbligatoria ma fortemente consigliata.
Modalità di esame
La parte scritta (2 ore e mezza) consiste in una sezione di domande a risposta multipla sulla teoria e una sezione di tre esercizi su: Algebra Relazionale, Teoria Relazionale, Organizzazione Fisica.
La parte orale consiste in domande su: Definizioni e nozioni di base sulla Teoria Relazionale, Dimostrazioni di teoremi in Teoria Relazionale, Organizzazione fisica
Esempi di domande
Scrivere in algebra relazionale alcune interrogazioni espresse in linguaggio naturale.
Calcolare le chiavi di uno schema relazionale. Stabilire se lo schema è in terza forma normale. Eventualmente decomporre lo schema in modo che i sottoschemi soddisfino le proprietà di correttezza ed efficienza di una base di dati (3NF, join senza perdita, ecc ... )
Analizzare l'occupazione ed efficienza computazionale di una base di dati in relazione al metodo di organizzazione fisica utilizzato per organizzare i dati.
Programmazione delle attività didattiche
Modulo: II MODULO
N/D
Modulo: I MODULO
- Introduzione alle basi di dati ed al modello relazionale (5 ore)
- Algebra relazionale (8 ore)
- La progettazione di una base di dati relazionale (3 ore)
- Dipendenze funzionali e chiusura di un insieme di dipendenze funzionali (8 ore)
- Terza forma normale (3NF)(8 ore)
- Chiusura di un insieme di attributi e chiavi di uno schema (5 hours)
- Decomposizioni di uno schema che preservano le dipendenze e hanno un join senza perdita (7 ore)
- Copertura minimale di iun insieme di dipendenze e algoritmo di decomposizione (7 ore)
- Organizzazione fisica dei dati (5 ore)
- Controllo della concorrenza (4 ore)
Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030
- Anno accademico2026/2027
- Corso di studio a cui afferisce l’insegnamentoInformatica
- CurriculumMetodologico
- Presenza obbligatoriaNo
- Linguaita
- CFU12 CFU distribuiti in 2 moduli didattici integrati
- Durata complessiva120 ore