CODICE 25880 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 2 MATEMATICA 9011 (LM-40) - GENOVA 12 cfu anno 2 INFORMATICA 8759 (L-31) - GENOVA 6 cfu anno 1 MATEMATICA 11907 (LM-40 R) - GENOVA 6 cfu anno 3 MATEMATICA 8760 (L-35) - GENOVA 8 cfu anno 2 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI 8766 (L-35) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L'insegnamento fonisce conoscenze e competenze su come progettare e utilizzare un base di dati, in termini di modelli dei dati e linguaggi. Solo per la versione 12 CFU, gli studenti impareranno anche i principali concetti relativi all'amministrazione di un sistema di gestione dati e gli approcci allo sviluppo di applicazioni per basi di dati OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Apprendere come progettare basi di dati, in particolare relazionali, a supporto di applicazioni o adattare basi dati già esistenti alle esigenze di nuovi applicativi che debbano interagire con esse, come esprimere interrogazioni e modifiche su basi di dati relazionali e acquisire 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. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine dell’insegnamento lo studente/la studentessa sarà in grado di: 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. OBIETTIVI TRASVERSALI: grazie alla partecipazione alle attività didattiche previste, al termine del corso gli studenti sapranno inoltre: - comunicare efficacemente in forma scritta e orale, adattando la propria comunicazione al contesto, utilizzare fonti e ausili di varia natura - individuare le proprie abilità, sviluppando capacità di concentrazione e riflessione critica rispetto a un compito. - gestire le proprie interazioni sociali con atteggiamento collaborativo, comunicazione costruttiva, in ambienti differenti - dimostrare autonomia decisionale, attitudine collaborativa, gestione di risorse umane e materiali, coordinamento, capacità di negoziazione, gestione dell’incertezza. Gli studenti che partecipano alle attività didattiche opzionali (peer evaluation), saranno inoltre in grado di - applicare pensiero critico, utilizzare, elaborare e valutare informazioni, argomentare - gestire le proprie interazioni sociali, sviluppare un atteggiamento collaborativo, rispettando gli altri e le loro esigenze, e disponibilità a superare pregiudizi, a esprimere e comprendere punti di vista diversi, gestire il conflitto, creare fiducia, empatia - essere consapevoli rispetto alle proprie strategie di apprendimento, organizzare e valutare l’apprendimento personale secondo quanto compreso ed imparato, comprendere le proprie necessità e modalità di sviluppo di competenze, individuare e perseguire obiettivi di apprendimento. 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 Bilanciamenti tra lezioni frontali (con uso di instant polling), esercitazioni in aula con modalità Think-Pair-Share, esercitazioni in laboratorio a gruppi, utilizzando un sistema di gestione dati relazionale ed attività integrative mediante l'uso di AulaWeb. Per la parte di progettazione viene proposta un'attività di peer review a gruppi, con partecipazione opzionale. 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; cenni a 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 Ricevimento: GIOVANNA GUERRINI: Su appuntamento, via email o Microsoft Teams Stanza: Valle Puggia – 301 BARBARA CATANIA Ricevimento: Su appuntamento, via email o Microsoft Teams Stanza: Valle Puggia – 327 LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica 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. MODALITA' DI ACCERTAMENTO I dettagli sulle modalità di preparazione per l’esame e sul grado di approfondimento di ogni argomento verranno forniti 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 conoscenza e 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 applicare la metodologia di progettazione affrontata durante l'erogazione dell'insegnamento. * esercizi di specifica di interrogazioni. L'obiettivo di questi esercizi è verificare che lo studente sappia formulare interrogazioni nei linguaggi (algebra relazionale e SQL) affrontati durante l'erogazione dell'insegnamento. OpenBadge PRO3 - Soft skills - Alfabetica base 1 - A PRO3 - Soft skills - Personale base 1 - A PRO3 - Soft skills - Sociale base 1 - A PRO3 - Soft skills - Gestione progettuale base 1 - A PRO3 - Soft skills - Alfabetica avanzato 1 - A PRO3 - Soft skills - Sociale avanzato 1 - A PRO3 - Soft skills - Imparare a imparare avanzato 1 - A