Insegnamento BASI DI DATI E SISTEMI INFORMATIVI CON LABORATORIO
Nome del corso | Informatica |
---|---|
Codice insegnamento | 55083809 |
Curriculum | Comune a tutti i curricula |
Docente responsabile | Raffaella Gentilini |
Docenti |
|
Ore |
|
CFU | 9 |
Regolamento | Coorte 2022 |
Erogato | Erogato nel 2024/25 |
Erogato altro regolamento | |
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. |