- Docente: Paolo Ciaccia
- Crediti formativi: 9
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea in Ingegneria informatica (cod. 0926)
Conoscenze e abilità da conseguire
Conoscenza dei modelli e degli strumenti per l'organizzazione e la gestione e il progetto di basi di dati relazionali.
Contenuti
- Sistemi di gestione di basi di dati (DBMS)
Sistemi informativi e ruolo dei DBMS. Le funzionalità di base dei DBMS: architettura a 3 livelli, linguaggi, controllo degli accessi e della concorrenza, protezione dai guasti. - Il modello relazionale dei dati
Concetti di base: domini, attributi, tuple e relazioni, relazioni in 1NF, valori nulli. Vincoli sui dati: di dominio, di tupla, di chiave, di integrità referenziale. - L'algebra relazionale
Operatori unari: selezione, proiezione e ridenominazione. Operatori binari: join naturale, unione e differenza. Operatori derivati: intersezione, theta-join e divisione. Algebra con valori nulli: logica a 3 valori, outer join. Espressioni e regole di equivalenza di base. - Il linguaggio SQL (Structured Query Language)
Istruzioni di definizione dei dati (DDL) e definizione di vincoli. Il blocco Select-From-Where. Ordinamento del risultato. Istruzioni di modifica dei dati. Interrogazioni con aggregazione del risultato. Interrogazioni innestate. Definizione di viste e risoluzione di interrogazioni ricorsive. Gestione delle autorizzazioni. Trigger. Transazioni.
- Progettazione di basi di dati
Progettazione orientata ai dati. Fasi di progettazione. Modelli concettuali e modelli logici dei dati. I principali meccanismi di astrazione. - Il modello Entity-Relationship (E-R)
Elementi di base: entità, associazioni, attributi. Meccanismi di identificazione. Tipi di gerarchie. - Progettazione concettuale
Raccolta e analisi dei requisiti. Strategie di progettazione. Tipici pattern di progettazione. - Progettazione logica
Regole di traduzione di entità e associazioni orientata al modello relazionale.Ristrutturazione dello schema E-R: eliminazione delle gerarchie, eliiminazione di attributi multi-valore, scelta degli identificatori principali. Criteri di ottimizzazione: carico di lavoro (volumi dei dati e schemi di navigazione), analisi delle ridondanze, partizionamenti e accorpamenti.
- Normalizzazione di schemi relazionali
Dipendenze funzionali e anomalie. Forme normali (3NF e BCNF). Decomposizione di schemi. Decomposizioni senza perdita. Preservazione delle dipendenze. Algoritmo di normalizzazione in 3NF. Relazione tra dipendenze funzionali e schemi E-R.
Testi/Bibliografia
Per la preparazione dell'esame è sufficiente il materiale reso disponibile sul sito del corso (http://www-db.deis.unibo.it/courses/SI-T/).
Per chi volesse approfondire gli argomenti trattati a lezione è consigliato il seguente testo:
- P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone: Basi di Dati:
modelli e linguaggi di interrogazione, 3/ed McGraw-Hill,
2009
Esistono diversi testi di esercizi, tra cui si segnalano:
- D. Maio, S. Rizzi: Esercizi di Progettazione di Basi di Dati, Esculapio, 2005
- D. Beneventano, S, Bergamaschi, M. Vincini: Progetto di Basi di Dati Relazionali: lezioni ed esercizi, Pitagora, 2007
Metodi didattici
Il corso viene erogato in aula mediante proiezione di slide dal
computer del docente. Le lezioni sono integrate da esercitazioni in
aula tenute dal docente e da esercitazioni pratiche in laboratorio.
Ogni esercitazione in laboratorio affronta uno specifico argomento
trattato a lezione dal docente proponendo esercizi che permettono
allo studente di approfondire quanto visto a lezione. La soluzione
degli esercizi presuppone l'uso di diversi strumenti software (tool
di progettazione e DBMS).
Modalità di verifica e valutazione dell'apprendimento
La valutazione d'esame consiste in una prova in laboratorio relativa a tutto il programma del corso. La prova orale viene svolta solo su richiesta del docente.
Strumenti a supporto della didattica
Le lezioni in aula vengono svolte con l'ausilio di lucidi proiettati da PC. Copia integrale dei lucidi proiettati è disponibile sul sito del corso (http://www-db.deis.unibo.it/courses/SI-T/).
Link ad altre eventuali informazioni
http://www-db.deis.unibo.it/courses/SI-T/
Orario di ricevimento
Consulta il sito web di Paolo Ciaccia