First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
Course unit
SCP4065533, A.A. 2017/18

Information concerning the students who enrolled in A.Y. 2016/17

Information on the course unit
Degree course First cycle degree in
SC1167, Degree course structure A.Y. 2011/12, A.Y. 2017/18
bring this page
with you
Number of ECTS credits allocated 9.0
Type of assessment Mark
Course unit English denomination DATABASE
Website of the academic structure
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction Italian
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 MAURO CONTI INF/01

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses INF/01 Computer Science 9.0

Course unit organization
Period First semester
Year 2nd Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Practice 1.0 8 17.0 No turn
Laboratory 2.0 16 34.0 No turn
Lecture 6.0 48 102.0 No turn

Start of activities 02/10/2017
End of activities 19/01/2018
Show course schedule 2019/20 Reg.2011 course timetable

Examination board
Board From To Members of the board
5 a.a 2019/2020 01/10/2019 28/02/2021 DE LEONI MASSIMILIANO (Presidente)
CONTI MAURO (Membro Effettivo)
4 a.a 2018/2019 01/10/2018 28/02/2020 DE LEONI MASSIMILIANO (Presidente)
BALDAN PAOLO (Membro Effettivo)
CONTI MAURO (Membro Effettivo)
3 a.a. 2017/2018 01/10/2017 28/02/2019 CONTI MAURO (Presidente)
BALDAN PAOLO (Membro Effettivo)
BRESOLIN DAVIDE (Membro Effettivo)
GAGGI OMBRETTA (Membro Effettivo)
MARCHIORI MASSIMO (Membro Effettivo)
VARDANEGA TULLIO (Membro Effettivo)

Prerequisites: It is recommended to have basic Programming knowledge, as given in the course "Computer Programming". However, this course does not have any specific requirements in terms of courses you should have passed before.
Target skills and knowledge: The aim of this course is to allow the student to acquire some basic knowledge about the working of DBMS (Data Base Management Systems), the design of data bases through conceptual modelling, logic design through the relational model and the use of SQL language for the definition and modelling of the database. There will be practical exercise in the lab that will allow the student to test the acquired knowledge through the use of a real DBMS.

Finally, the student has to run a project that consists in the design and implementation of a database (analysis, conceptual design, logical design, implementation, identification and implementation of relevant queries). Beyond increasing the capability of the student to apply theoretical concepts, the different steps of the project will expose the student to take autonomous decisions, that require an elaboration on the acquired knowledge.
Examination methods: The student has to pass a written exam and submit a completed project (where knowledge acquired during the course shall be put into practice). The project will be than discussed during an oral exam.
Assessment criteria: The written exam includes questions that will allow to evaluate the level of knowledge about concepts explained during the course. There will also be exercises related to the design of databases, SQL queries, and normalization that require the student to elaborate on the knowledge acquired during the course.

The evaluation of the project will take into account the capability of the student in selecting a proper case study, and to run in a autonomous way a design activity at a reasonable quality level and a rigorous implementation.
Course unit contents: The sructures and topics of the course will be as follows:

- Introduction
Database (DB) and Database management systems (DBMS). Architecture of a DBMS.

- DB Conceptual design
Object-oriented modelling. Conceptual design of a DB via the Object-oriented modelling.

- Logical design of a BD
Relational modelling. Relational Algebra. Logical design via translation of Object oriented modelling to Relational modelling.

- Normalization of Relational Modelling.
Functional dependencies. Relations decomposition. Normal forms (1NF, 2NF, 3NF and BCNF) and decompositions in normal forms.

- SQL language
Data Definition Language. Data manipulation language. Procedural knowledge: procedures and triggers. Transactions. Access control. MySQL DBMS.

- SQL for applications
Embedded SQL. Call level interface (JDBC, ODBC).
Planned learning activities and teaching methods: The course will have lectures in the class, exercises in the lab and the run of a project. The exercises in the lab consists in the implementation of simple databases, and related SQL queries. These exercises will be helpful for the run of the project, in which the student has select independently a case study, design and implement the database for it.
Additional notes about suggested reading: As a reference, the slides used during the course will be available to students.
Textbooks (and optional supplementary readings)
  • Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, Basi di Dati. --: McGraw Hill, --. Cerca nel catalogo
  • A. Albano, G. Ghelli, R. Orsini, Fondamenti di basi di dati. 2a Edizione.. --: Zanichelli, --. Cerca nel catalogo