BASI DI DATI - MOD.2

Anno accademico
2019/2020 Programmi anni precedenti
Titolo corso in inglese
DATABASE SYSTEMS - PART 2
Codice insegnamento
CT0006 (AF:274903 AR:166183)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di BASI DI DATI
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
II Semestre
Anno corso
2
Sede
VENEZIA
L'insegnamento è una delle attività formative di base del corso di laurea di Informatica e intende fornire i concetti fondamentali delle basi di dati e le tecniche per la loro progettazione. Si prefigge inoltre di far sperimentare allo studente le nozioni acquisite attraverso l'uso di sistemi di gestione di basi di dati, con particolare attenzione per quelli di tipo relazionale con linguaggio SQL. Il corso fornisce infine i concetti principali per lo sviluppo di applicazioni che utilizzano prevalentemente basi di dati, in particolare applicazioni web, focalizzando l'attenzione sui meccanismi di comunicazione fra linguaggi di programmazione e sistema di gestione di basi di dati.
Conoscenza e comprensione:
- conoscenza e comprensione dei concetti fondamentali delle basi di dati;
- comprensione della fattibilità e complessità della creazione di una base di dati e capacità di selezionare metodi adeguati per l'analisi e la modellazione;
- conoscenza delle metodologie per la progettazione delle basi di dati, sia per costruirne di nuovi, sia per la manutenzione di sistemi esistenti;
- cenni di sicurezza delle basi di dati.

Capacità di applicare conoscenza e comprensione:
- capacità logico-deduttive e di problem solving;
- capacità di formalizzazione, modellazione e specifica di problemi reali;
- capacità di sviluppo e realizzazione di progetti software usando le tecnologie allo stato dell'arte.

Abilità comunicative:
saper comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti e non specialisti.
Conoscenza base di programmazione. In particolare sarà utile la conoscenza del linguaggio Python.
- Normalizzazione di schemi relazionali
- SQL per l'amministrazione di basi di dati
- Integrazione di basi di dati all'interno di applicazioni
- Cenni di sicurezza delle basi di dati
A. Albano, G. Ghelli, R. Orsini. Fondamenti di Basi di Dati. Zanichelli, 2005. (http://www.fondamentidibasididati.it/ )
M. Grinberg - Flask Web Development: Developing Web Applications with Python, 2018.
La verifica dell'apprendimento avviene attraverso una prova scritta, la realizzazione di un progetto e una prova orale. La prova scritta ha durata di 3 ore e consiste di 4 esercizi che mirano a verificare:
1) la capacità di progettare lo schema concettuale di una base di dati e l'acquisizione della metodologia per trasformare lo schema concettuale in uno schema relazionale,
2) l'abilità di effettuare query in SQL,
3) la conoscenza delle nozioni e degli algoritmi relativi alla teoria della normalizzazione,
4) la capacità di scrivere codice applicativo che si interfacci con una base di dati.

La prova scritta può essere sostituita dal superamento di due prove intermedie. La prima verifica le abilità 1) e 2) mentre la seconda valuta le conoscenze 3) e 4). Durante la prova scritta non è ammesso l'uso di libri, appunti, supporti elettronici.

Il progetto consiste nello sviluppo di un'applicazione web che si interfaccia con una base dati relazionale. Il progetto sarà discusso con il docente.
Lavagna, slide ed esempi pratici di programmazione
Italiano
scritto e orale
Programma definitivo.
Data ultima modifica programma: 19/07/2019