Databases and WEB (2018/2019)

Course code
Carlo Combi
Academic sector
Language of instruction
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 3 II semestre Carlo Combi

Go to lesson schedule

Laboratorio 3 II semestre Roberto Posenato

Go to lesson schedule

Learning outcomes

MM: Teoria
After an introduction of the basic concepts of computer networks, the course will deal with methodologies and technologies for the design and implementation of data-centric web sites, with an emphasis on the storage and query of bioinformatics data.
MM: Laboratorio
The aim of this module is to provide the student with the necessary concepts and methods for working with a database management system and developing web applications exploiting databases. The main technologies considered during the course are based on Python language. Python will be introduced during the course. To attend the course in a productive way, students have to be confident with object-oriented programming.


MM: Teoria
* The internal architecture of a database management system: the relevance of transactional systems. -- The ACID transaction properties. -- Physical data organisation: sequential data structures and indexes (B-trees and hashing). * Data centric web applications and bioinformatics. -- Basic concepts of computer networks. -- Semistructured data models; XML for bioinformatics. -- Interaction of web servers and data base management systems. -- Design methodologies for data-centric web applications. -- Design of data-centric web-based bioinformatics applications.
MM: Laboratorio
- Introduction to the relational database management system (RDBMS) PostgreSQL. - Introduction to the use of SQL in PostgreSQL. - Query Optimization. - Introduction to the transaction. - Introduction to Python Language. - Database access from applications written in Java/Python. - Introduction to Flask (Python) micro framework for developing simple database-based web applications. Teaching methods: Lecturing and practicing in a computer laboratory. Didactical material (slides) and further exercise texts are available on the eLearning platform. The teacher is available for individual meeting in office hours.

Assessment methods and criteria

The exam is composed of two parts: theory and laboratory.

To pass the exam, the student must show that:
- they are able to describe the concepts in a clear and exhaustive way without digressions
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions and projects.

Module of Theory
For this module the exam consists of a written test with a duration of 1 hour containing: some questions and exercises on the theory topics.

Module of Laboratorio
The examination consists of a written test containing 5 exercises based on the module program.
A student who obtains less than 13/30 in a written exam, will also have to take an oral examination once it has passed the written exam obtaining 18/30 at least. The final grade will be the average of two grades.

The grade in this module is worth 1/2 of the grade in the course examination.

A selection of previous exam tests is published at

Reference books
Activity Author Title Publisher Year ISBN Note
Teoria P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone Basi di dati (Edizione 4) McGraw-Hill 2014 978-88-386-6587-5
Teoria DISPENSE Dispense fornite dal docente 2015
Teoria Andrew S. Tanenbaum, David J. Wetherall Reti di calcolatori (Edizione 5) Pearson 2018
Laboratorio Autori Vari Flask ( Flask 2016
Laboratorio Autori Vari Manuale di Postgresql ( Postgresql