First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Engineering
Course unit
INP9086758, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2019/20

Information on the course unit
Degree course Second cycle degree in
IN2371, Degree course structure A.Y. 2019/20, A.Y. 2019/20
bring this page
with you
Degree course track INTERNATIONAL MOBILITY [005PD]
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination DATABASES
Department of reference Department of Information Engineering
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge NICOLA FERRO ING-INF/05

Course unit code Course unit name Teacher in charge Degree course code

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Educational activities in elective or integrative disciplines ING-INF/05 Data Processing Systems 6.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 6.0 48 102.0 No turn

Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2019 course timetable

Prerequisites: + Good knowledge of the Java programming language
+ Knowledge of computer networks
Target skills and knowledge: The goal is to learn to design and develop a distributed application for the management of and access to structured data over time.

The achievement of this goal consists of:
- acquisition of strong competences concerning databases, their data models and properties, formal languages for querying a database, and suitable methodologies for designing a database;
- acquisition of the capability of carrying out an actual project for the design and development of a database application using a relational database management system (RDBMS)
Examination methods: + Written exam (individual exam)
--- questions on the topics covered during the lectures
--- exercise about designing and querying a database

+ Group project on the Implementation of an actual database application, carried out by means homeworks during the lecture period.

+ Oral presentation with slides and demo of the developed project
Assessment criteria: The evaluation will be based on the comprehension and knowledge of the notions and methodologies about databases, on the capability of facing the different phases of the design of a database, on the comprehension and knowledge of the models and languages for querying a database, on the implementation of a project for the development of a database application.
Course unit contents: + Overview of database management systems

+ Gathering, analysis and design of user requirements

+ The Entity-Relationship (ER) model
--- conceptual design

+ The Relational model and the relational database management systems
--- logical design
--- functional dependencies and normalization
--- relational algebra
--- mapping from conceptual to relational model

+ The SQL language
--- data definition language
--- data manipulation language
--- advanced concepts (indexes, views, stored procedures, foreign data wrappers)

+ Programmatic access to databases
--- the JDBC APIs for the Java programming language
Planned learning activities and teaching methods: + Lectures

+ Labs
--- use of an open source database management system (PostgreSQL);
--- programmatic access to databases (JDBC)
--- use of indexes in PostgreSQL

+ Seminars of visiting colleagues on research topics and/or seminar by companies on the use and perspectives for innovative products based on databases, role of the engineer in a company, stage opportunities, simulation of job interviews.

+ Homeworks: there are 4 homeworks (gathering and analysis of the requirements; conceptual design; logical design; physical design and implementation), to be carried out in group, in order to design and develop a "real" database application. Homework deadlines are aligned with the contents of the lectures so that students can immediately apply the learned concepts to a case study of their own interests.

+ Oral presentation with slides and demo of the homework project

+ Interactive lessons and exercises in classroom: students are divided into group (different from the homework ones) and try to apply the learned concepts (gathering and analysis of the requirements; conceptual design; logical design; physical design and implementation) to a case study proposed by the teacher. Then, each group, presents its works to the class and discusses it with the teacher and the other students.
Additional notes about suggested reading: The teaching material consists of:
- reference book
- instructor's slides
- suggested readings
- examples of homeworks
+ output of the interactive classroom exercises produced by student groups

All the teaching material is available on the Moodle platform (

Suggested readings:
+ Batini, C., Ceri, S., and Navathe, S. B. (1992). Conceptual Database Design. An Entity-Relationship Approach. The Benjamin/Cummings Publishing Company, Inc., Redwood City (CA), USA.
+ Celko, J. (2011). Joe Celko's SQL for Smarties: Advanced SQL Programming. Morgan Kaufmann Publishers, San Francisco (CA), USA.
Textbooks (and optional supplementary readings)
  • Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems, 7th Edition. --: Pearson, 2016. Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Laboratory
  • Case study
  • Working in group
  • Loading of files and pages (web pages, Moodle, ...)

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)

Sustainable Development Goals (SDGs)
Quality Education Industry, Innovation and Infrastructure