Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Type D and Type F activities
This information is intended exclusively for students already enrolled in this course.If you are a new student interested in enrolling, you can find information about the course of study on the course page:
Laurea in Informatica - Enrollment from 2025/2026years | Modules | TAF | Teacher |
---|---|---|---|
3° | The fashion lab (1 ECTS) | D |
Maria Caterina Baruffi
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
3° | Control theory | D |
Riccardo Muradore
(Coordinator)
|
3° | Biomedical Data and Signal Processing | D |
Silvia Francesca Storti
(Coordinator)
|
3° | Python programming language | D |
Maurizio Boscaini
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
3° | CyberPhysical Laboratory | D |
Andrea Calanca
(Coordinator)
|
3° | C++ Programming Language | D |
Federico Busato
(Coordinator)
|
3° | LaTeX Language | D |
Enrico Gregorio
(Coordinator)
|
3° | Matlab-Simulink programming | D |
Bogdan Mihai Maris
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
3° | Corso Europrogettazione | D | Not yet assigned |
3° | The course provides an introduction to blockchain technology. It focuses on the technology behind Bitcoin, Ethereum, Tendermint and Hotmoka. | D |
Matteo Cristani
|
Databases (2019/2020)
Teaching code
4S00037
Credits
12
Language
Italian
Scientific Disciplinary Sector (SSD)
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
The teaching is organized as follows:
Teoria
Laboratorio
Tecnologie per le basi di dati
Learning outcomes
The course aims to provide the necessary skills for:
(i) the design of data according to the requirements with reference to different application contexts and within the production process of software systems;
(ii) effective and efficient management and use of data;
(iii) the use of a system for the management of relational databases in order to create, manage and query databases;
(iv) the interaction of applications with relational databases.
At the end of the course the student must demonstrate knowledge and understanding of data models and query languages that characterize systems for data management and knowledge of the fundamental mechanisms to develop applications that interact with a database; have the ability to apply the acquired knowledge and understanding skills for the design of a data collection in an effective way compared to a set of application requirements, the ability to query and efficiently use the data managed by a system, the ability to design and implement an application that interacts with a database; know how to develop the skills necessary to continue the studies independently in the field of data management systems and software solutions development.
Program
The program is specified for each module as follows.
Module of Theory
--------------------------
- Introduction to database management systems (DBMS): architectures and functionalities of a DBMS. Physical and logical data independence. Data models. Concepts of model, schema and instance of a database. Languages for database systems. DBMS vs. file system.
- Conceptual database design: conceptual data models. The Entity-Relationship model (ER). Elements of the ER model: entities, attributes, relationships, ISA hierarchies and cardinality constraints.
- Logical database design: logical data models, the relational data model. Elements of the relational data models: relations and integrity constraints. Mapping between conceptual schemas in ER model and logical schema in the relational model.
- Interacting with a database system: languages for the definition, querying and update of a database. The relational algebra. Optimization of algebraic expressions. SQL: select-from-where statement, join in SQL, the GROUP BY and ORDER BY clauses, using subqueries. Views.
Teaching methods: lecturing, practicing with the teacher, didactical material (slides) and further exercises available on the eLearning platform, individual meetings during office hours according to the timetable published on the teacher web page.
Module of Lab
---------------------
- 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.
Lecturing and practicing in 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.
Module of Database technology
----------------------------------------------
- The internal architecture of a DBMS. Transactions. Transactions properties. The concurrency control: schedules, the two-phase locking. Access methods (indexes): primary and secondary indexes, B-+tree, hashing based access methods. Query execution and optimization.
- Techniques for the interaction between a DBMS and an application.
- XML, XML schema, UML for XML data design (hints).
Teaching methods: lecturing, practicing with the teacher, didactical material (slides) and further exercises available on the eLearning platform, individual meetings during office hours according to the timetable published on the teacher web page.
Bibliography
Activity | Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|---|
Teoria | Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone | Basi di dati (Edizione 5) | McGraw Hill | 2018 | 9788838694455 | |
Laboratorio | Docente del corso | Dispense del docente | 2020 | |||
Laboratorio | Autori Vari | Manuale di Postgresql (https://www.postgresql.org/docs/) | Postgresql | |||
Tecnologie per le basi di dati | Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi, Riccardo Torlone | Basi di dati (Edizione 5) | McGraw Hill | 2018 | 9788838694455 |
Examination Methods
The exam is composed of two parts: theory and laboratory.
To pass the exam, the student must show that:
- they have understood the concepts related to the theory of relational databases and their design and implementation on database management systems
- 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 and Database technology
----------------------------------------------------------------
For the modules of "Teoria" and "Tecnologie per le basi di dati" the exam consists of a written test with a duration of 2.5 hours containing: (i) an exercise about the conceptual modeling (using the E-R model) and the logical modeling (using the relational model) of a database; (ii) some exercises about the specification of queries in relational algebra on a given database; (iii) some exercises on XML and XML-Schema and some questions on the theory. On the e-learning platform in the section "TEMI D'ESAME E ALTRI ESERCIZI RIEPILOGATIVI" some tests of the previous years are published.
During the year, it is also possible to undergo the mid-term tests: these tests are fixed by the teacher in agreement with the students and are managed on the eLearning platform. These are three tests: the first test regards the design of a relational database: conceptual design (E-R model) and logic design (relational model), this weighs 4/9 of the theory grade; the second test regards the specification of queries on a relational database in relational algebra and SQL, this test weighs 3/9 of the theory grade; the third test on the program module of Databases Technologies, the latter test weighs 2/9 of the theory grade.
Module of Laboratorio
---------------------------------
The examination consists of a written test containing 5 exercises based on the module program and of an oral examination where it may be required to resolve questions using the computer.
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/4 of the grade in the course examination. A selection of previous exam tests is published at http://profs.scienze.univr.it/~posenato/courses/labBD/raccoltaTemiEsameLaboratorioBasiDatiDal2016.pdf
The total grade (theory+laboratory) is given by the following weighted average: theory_grade*3/4 + laboratory_grade*1/4.