BASI DI DATI

BASI DI DATI

_
iten
Codice
25880
ANNO ACCADEMICO
2019/2020
CFU
12 cfu al 2° anno di 8759 INFORMATICA (L-31) GENOVA

8 CFU al 3° anno di 8760 MATEMATICA (L-35) GENOVA

8 CFU al 2° anno di 8766 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI (L-35) GENOVA

8 CFU al 1° anno di 9011 MATEMATICA (LM-40) GENOVA

8 CFU al 2° anno di 9011 MATEMATICA (LM-40) GENOVA

SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Italiano
SEDE
GENOVA (INFORMATICA )
periodo
2° Semestre

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.

Modalità 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

Ricevimento: Su appuntamento, via email. Stanza: Valle Puggia – 327

LEZIONI

Modalità 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.

ESAMI

Modalità 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.

Modalità 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.