Insegnamento BASI DI DATI E SISTEMI INFORMATIVI CON LABORATORIO

Nome del corso di laurea Informatica
Codice insegnamento 55083809
Curriculum Comune a tutti i curricula
Docente responsabile Raffaella Gentilini
Docenti
  • Raffaella Gentilini
Ore
  • 78 Ore - Raffaella Gentilini
CFU 9
Regolamento Coorte 2021
Erogato Erogato nel 2023/24
Erogato altro regolamento
Informazioni sull'attività didattica
Attività Caratterizzante
Ambito Discipline informatiche
Settore INF/01
Anno 3
Periodo Primo Semestre
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.
Condividi su