Basi di dati e web (2019/2020)



Codice insegnamento
4S00012
Crediti
6
Coordinatore
Roberto Posenato
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 3 II semestre Roberto Posenato

Vai all'orario delle lezioni

Laboratorio 3 II semestre Roberto Posenato

Vai all'orario delle lezioni

Obiettivi formativi

------------------------
Teoria
------------------------
Il corso si propone di fornire le competenze necessarie per:
(i) comprendere come funzionano le reti di calcolatori
(ii) comprendere architettura interna di un sistema per la gestione di basi di dati
(iii) l'uso di un sistema per la gestione di basi di dati relazionali al fine di creare, gestire e interrogare basi di dati;
(iv) lo sviluppo di applicazioni che interagiscono con basi di dati relazionali.

Al termine del corso lo studente dovrà dimostrare di:
(i) avere conoscenze e capacità di comprensione di come funzionano i sistemi per la gestione di basi di dati relazionali, del linguaggio SQL e dei meccanismi fondamentali per sviluppare applicazioni che interagiscano con una base di dati;
(ii) avere capacità di interrogare e fruire in modo efficiente dei dati gestiti da un sistema,
(iii) avere capacità di applicare le conoscenze acquisite per la progettazione e sviluppo di applicazioni che interagiscono con basi di dati rispetto ad un insieme di requisiti applicativi,
(iv) saper sviluppare le competenze necessarie per proseguire gli studi in modo autonomo nell’ambito dei sistemi per la gestione dei dati e dello sviluppo di soluzioni software.
------------------------
Laboratorio
------------------------
Scopo di questo modulo è di fornire allo studente le conoscenze necessarie per poter operare con un sistema di gestione di basi di dati e di interfacciarsi con le basi di dati da applicazioni scritte in Java/Python. Si assume lo studente abbia una buona conoscenza di un linguaggio di programmazione ad oggetti.

Programma

------------------------
Teoria
------------------------
Reti di calcolatori (concetti di base).
L'architettura interna di un sistema per la gestione di basi di dati:
- strutture dati sequenziali e indici (B-trees e hashing),
- transazioni.
Modelli per dati semistrutturati: XML per la bioinformatica.
Tecniche per l'interazione tra una applicazione e un DBMS.

Modalità di erogazione della didattica
----------------------------------------
Lezioni frontali in aula ed esercitazioni in laboratorio informatico. Materiale didattico (lucidi) ed ulteriori esercizi sulla piattaforma eLearning. Ricevimento individuale negli orari concordati con il docente.


------------------------
Laboratorio
------------------------
- Introduzione al relational data base management system (RDBMS) PostgreSQL.
- Introduzione all'uso di SQL-2 in PostgreSQL (con estensioni). - Ottimizzazione di query.
- Introduzione alle transazioni.
- Accesso alla basi dati da programmi Java o Python.

Modalità di erogazione della didattica
----------------------------------------
Lezioni frontali in aula ed esercitazioni in laboratorio informatico. Materiale didattico (lucidi) ed ulteriori esercizi sulla piattaforma elearning. Ricevimento individuale negli orari concordati con il docente.

Modalità d'esame

L'esame è composto di due parti: teoria e laboratorio.

Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i concetti che stanno alla base della tecnologia dei sistemi di basi di dati
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico senza divagazioni
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.

Modulo di Teoria
--------------------------------------------------------------------
È prevista una prova scritta di 1 ora circa che consiste in esercizi e domande sugli argomenti trattati.

Modulo di Laboratorio
---------------------------------
L'esame consiste in una prova scritta costituita da 5 esercizi a difficoltà crescente sugli argomenti del programma.
Lo studente che ottiene una valutazione inferiore a 13/30 in una prova, una volta che avrà conseguito almeno 18/30 in una prova successiva dovrà anche sostenere una prova orale.
Il voto finale sarà quindi la media del voto della prova scritta e della prova orale.

Il voto di questo modulo vale 1/2 del voto finale.

Una selezione dei temi d'esame è presente alla pagina http://profs.scienze.univr.it/~posenato/courses/labBD/raccoltaTemiEsameLaboratorioBasiDatiDal2016.pdf

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone Basi di dati (Edizione 5) McGraw Hill 2018 9788838694455
Teoria Docente del corso Dispense del docente  
Teoria Andrew S. Tanenbaum, David J. Wetherall Reti di calcolatori (Edizione 5) Pearson 2018
Laboratorio Docente del corso Dispense del docente  
Laboratorio Autori Vari Manuale di Postgresql (https://www.postgresql.org/docs/) Postgresql