Insegnamento BASI DI DATI E SISTEMI INFORMATIVI CON LABORATORIO
- Corso
- Informatica
- Codice insegnamento
- 55083809
- Curriculum
- Comune a tutti i curricula
- Docente
- Raffaella Gentilini
- Docenti
-
- Raffaella Gentilini
- Ore
- 78 ore - Raffaella Gentilini
- CFU
- 9
- Regolamento
- Coorte 2020
- Erogato
- 2022/23
- Attività
- Caratterizzante
- Ambito
- Discipline informatiche
- Settore
- INF/01
- Tipo insegnamento
- Obbligatorio (Required)
- Tipo attività
- Attività formativa monodisciplinare
- Lingua insegnamento
- ITALIANO
- Contenuti
- Sintesi del Programma:
(1) Introduzione alle basi di dati ed ai gestori di basi di dati (Database Management Systems - DBMS).
(2) Basi di dati relazionali: Modello e linguaggi. Il modello relazionale. Algebra relazionale e calcolo relazionale. Linguaggio SQL.
(3) Progettazione di basi di dati. Progettazione concettuale: modello Entità/Relazioni (ER) ed Entità/Relazioni Esteso (EER), progettazione logica, progettazione fisica (cenni). Normalizzazione.
(4) Tecnologia dei DBMS. Transazioni, concorrenza, affidabilità. - Testi di riferimento
- Il testo principale di riferimento per il corso e':
[EN18] R.A.Elmasri e S.B.Navathe: Sistemi di Basi di Dati: Fondamenti e complementi, Pearson Addison-Wesley, 1a edizione, 2018.
Le fonti per eventuale materiale integrativo verranno indicate a lezione. Si tenga presente che gli argomenti trattati nel corso possono essere studiati o approfonditi anche consultando uno (o più) dei seguenti testi.
[UW02] --- J.Ullman e J.Widom. First Course in Database Systems. 2a edizione. Prentice Hall
[ACPT09] --- P.Atzeni, S. Ceri, S. Paraboschi, e R. Torlone. Basi di Dati: Modelli e Linguaggi di Interrogazione. 3a edizione. McGraw-Hill. 2009 - Obiettivi formativi
- Il corso si propone di fornire le competenze essenziali relative a fondamenti, concetti, metodi e tecniche per il progetto e l'utilizzo dei sistemi di gestione di basi di dati.
Le esercitazioni in laboratorio permetteranno allo studente di tradurre nella pratica le nozioni acquisite nella parte teorica del corso. - Prerequisiti
- --
- Metodi didattici
- Lezioni frontali in aula e laboratorio.
- Modalità di verifica dell'apprendimento
- Esame scritto ed orale.
- Programma esteso
- Il programma relativo alla parte teorica si articola in quattro parti:
Parte 1. Introduzione ai database ed ai DBMS.
* Concetti e architettura di un sistema di basi di dati
* Evoluzione storica delle applicazioni di basi di dati
Parte 2. Basi di dati relazionali: Modello e linguaggi.
* Il modello relazionale
* Algebra e calcolo relazionale
* Concetti essenziali di SQL (il linguaggio SQL verra' trattato nel dettaglio in sede di laboratorio - si veda il relativo programma di laboratorio specificato sotto).
Parte 3. Progettazione di basi di dati.
* Progettazione concettuale
* Il modello Entità-Relazione (ER) ed Entità-Relazione Esteso (EER)
* Progettazione logica: algoritmi di traduzione da modello ER ed EER a modello relazionale
* Progettazione fisica: indici.
* Normalizzazione: Dipendenze funzionali, prima, seconda e terza forma normale, forma normale di Boyce-Code (BCNF). Algoritmi di normalizzazione.
Parte quarta: Introduzione alla tecnologia dei DBMS
* Gestione dell transazioni
* Tecniche di controllo della concorrenza
* Tecniche di recovery per basi di dati
Il programma per la parte di laboratorio vertera' infine sui seguenti argomenti:
* Il DBMS Postgres
* Linguaggio SQL per la realizzazione implementazione, modifica e interrogazione delle basi di dati.
Istruzioni di base e istruzioni avanzate. Realizzazione di database tramite il DBMS PostGres.
* Tecniche di programmazione per SQL. Trigger e basi di dati attive. Embedded SQL. Programmazione per basi di dati con chiamate di funzioni; JDBC.