CODICE 25880 ANNO ACCADEMICO 2019/2020 CFU 12 cfu anno 2 INFORMATICA 8759 (L-31) - GENOVA 8 cfu anno 3 MATEMATICA 8760 (L-35) - GENOVA 8 cfu anno 2 MATEMATICA 9011 (LM-40) - GENOVA 8 cfu anno 2 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI 8766 (L-35) - GENOVA 8 cfu anno 1 MATEMATICA 9011 (LM-40) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Obiettivo del corso è la formazione di utenti professionali di sistemi di gestione dati, in particolare quelli relazionali. Tali utenti devono essere in grado di progettare e sviluppare delle semplici basi di dati a supporto di applicazioni, nonché di adattare basi dati già esistenti alle esigenze di nuovi applicativi che debbano interagire con esse, arricchendole o esprimendo nuove interrogazioni. Lo studente deve acquisire capacità relative alla progettazione e sviluppo di una base di dati partendo da un documento di specifica dei requisiti. In particolare deve apprendere come : - esprimere interrogazioni nei linguaggi relazionali e nel linguaggio SQL; - esprimere operazioni di manipolazione nel linguaggio SQL; - stabilire vincoli di integrità sui dati; - esprimere operazioni complesse tramite funzioni e procedure in SQL; - verificare la qualità degli schemi proposti ed eventualmente migliorarli eliminando ridondanze e anomalie. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO 8 e 12 CFU: DESCRIVERE le diverse fasi nella progettazione di basi di dati relazionali, i modelli dei dati utilizzati a livello concettuale e logico, le tecniche di progettazione utilizzate nelle varie fasi. COMPRENDERE come verificare la qualità degli schemi proposti, come eventualmente migliorarli eliminando ridondanze e anomalie. UTILIZZARE le tecniche proposte per la progettazione di una base di dati relazionale a supporto di un’applicazione, a partire dai requisiti utente. COMPRENDERE come esprimere interrogazioni e modifiche su basi di dati relazionali. DESCRIVERE i costrutti dei linguaggi relazionali (algebra relazionale e SQL) e le loro proprietà UTILIZZARE i linguaggi relazionali (algebra e SQL) per interrogare una base di dati, il linguaggio SQL per esprimere operazioni di manipolazione sui dati e stabilire vincoli di integrità sui dati SOLO 12 CFU: UTILIZZARE il linguaggio SQL per esprimere operazioni complesse tramite funzioni e procedure, per esprimere vincoli di integrità complessi e regole operative tramite trigger COMPRENDERE i principi base relativi all’organizzazione interna e all'amministrazione di sistemi di gestione dati, con specifico riferimento alla progettazione di schema fisico, al monitoraggio delle prestazioni, all’esecuzione concorrente di transazioni e al controllo dell’accesso. RISPONDERE a domande sui principi base relativi all’organizzazione interna e all'amministrazione di sistemi di gestione dati. PREREQUISITI Nozioni di base di: logica del prim'ordine, teoria degli insiemi, sintassi e semantica di un linguaggio, programmazione, architettura di un'elaboratore e sistemi operativi. MODALITA' DIDATTICHE Mista: Il corso prevede lezioni frontali, sugli argomenti trattati, esercitazioni in laboratorio, utilizzando un sistema di gestione dati relazionale ed attività integrative mediante l'uso di AulaWeb. PROGRAMMA/CONTENUTO Per tutti: Aspetti introduttivi: rilevanza della gestione dati per le applicazioni reali; panoramica sui concetti relativi ai DBMS. Modelli tradizionali dei dati: il modello relazionale e i suoi linguaggi. Il linguaggio SQL: definizione, interrogazione e manipolazione di dati relazionali. Progettazione concettuale: il modello Entity-Relationship, metodologie di progettazione concettuale. Progettazione logica di una base di dati relazionale. Verifica di qualità: teoria della normalizzazione Laboratorio: uso di un DBMS per esercitazioni relative agli aspetti trattati dal corso. Per 12 CFU: Gestione dati da programma: stored procedure; uso di SQL da linguaggio di programmazione; trigger. Componenti e funzionalità di un DBMS: indici e elaborazione delle interrogazioni; transazioni; controllo degli accessi. Cenni a progettazione fisica di una base di dati relazionale. Laboratorio: uso di un DBMS per esercitazioni relative agli aspetti trattati dal corso. TESTI/BIBLIOGRAFIA Barbara Catania, Giovanna Guerrini, Elena Ferrari. Sistemi di Gestione Dati - Concetti e Architetture. CittaStudi Edizioni, Utet Libreria, De Agostini Scuola, 2006. Barbara Carminati, Anna Maddalena, Marco Mesiti. Sistemi di Gestione Dati - Esercizi. CittaStudi Edizioni, Utet Libreria, De Agostini Scuola, 2008. DOCENTI E COMMISSIONI GIOVANNA GUERRINI BARBARA CATANIA Ricevimento: Su appuntamento, via email. Stanza: Valle Puggia – 327 Commissione d'esame GIOVANNA GUERRINI (Presidente) BARBARA CATANIA FEDERICO DASSERETO LEZIONI Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L’esame consiste delle seguenti prove: (i) Una prova scritta, contenente esercizi relativi agli argomenti affrontati nel corso. (ii) Un progetto, che richiede la progettazione e la realizzazione di una base di dati relazionale. (iii) Una prova orale centrata sulla correzione del progetto e delle esercitazioni di laboratorio nonché sugli argomenti affrontati nel corso. MODALITA' DI ACCERTAMENTO I dettagli sulle modalità di preparazione per l’esame e sul grado di approfondimento di ogni argomento verranno dati nel corso delle lezioni. L’esame scritto consiste in un insieme di domande a risposta chiusa su argomenti di base del corso. L'obiettivo di queste domande è quello di accertare la comprensione delle problematiche principali affrontate durante le lezioni. un esercizio di progettazione. L'obiettivo di questo esercizio è verificare che lo studente sappia utilizzare i modelli dei dati e la metodologia di progettazione affrontata durante il corso. esercizi di specifica di interrogazioni. L'obiettivo di questi esercizi è verificare che lo studente sappia formulare interrogazioni nei linguaggi (algebra relazionale e SQL) affrontai durante il corso. La prova orale consisterà in: (i) discussione approfondita delle soluzioni elaborate dallo studente per il progetto (ii) discussione delle soluzioni elaborate dallo studente per le esercitazioni proposte durante l'erogazione dell'insegnamento (iii) eventuali domande teoriche e/o pratiche su argomenti svolti nell'ambito dell'insegnamento, con particolare riferimento agli argomenti sui quali sono state evidenziate carenze nella prova scritta o nello svolgimento del progetto. In generale, la prova orale è volta a valutare non soltanto se lo studente ha raggiunto un livello adeguato di conoscenze, ma anche se ha acquisito la capacità di analizzare criticamente le problematiche di progettazione e interrogazione di una base di dati, nonché di utilizzo di un DBMS, affrontati a lezione. Calendario appelli Data appello Orario Luogo Tipologia Note 27/01/2020 09:00 GENOVA Scritto 27/01/2020 09:00 GENOVA Scritto 15/06/2020 09:00 GENOVA Scritto 15/06/2020 09:00 GENOVA Scritto 03/07/2020 09:00 GENOVA Scritto 03/07/2020 09:00 GENOVA Scritto 21/07/2020 09:00 GENOVA Scritto 21/07/2020 09:00 GENOVA Scritto 16/09/2020 09:00 GENOVA Scritto 16/09/2020 09:00 GENOVA Scritto 25/01/2021 09:00 GENOVA Scritto