10906 - Databases

Course Unit Page


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education

Academic Year 2021/2022

Learning outcomes

Fundamentals of the relational database systems technology; methodologies and tools for database design and implementation.

Course contents

- Main components of a RDBMS: Query Optimizer, Transaction Manager, Scheduler, Recovery Manager, Cache Manager, Storage Manager, Access Methods.

- Data Models: conceptual vs. logical models. The relational model.

- Conceptual database design: the Entity-Relationship model, introduction to requirement analysis and to conceptual database design.

- Logical database design: workload estimation, schema restructuration, entity and associations translation.

- Normal forms: functional dependencies, 1NF, 2NF, 3NF, BCNF.

- Relational algebra: basic and derived operators.

- The SQL language : DDL, DML and DCL statements.

- Transactions: ACID properties, concurrency management, protocols.

- Data Structures in secondary memory and related management algorithms (sequential and direct access organizations, primary and secondary indeces, B-tree, B*-tree and B+tree).

- Database applications: overview of data access modalities (examples in Java and .NET C#).

- Description of the main client-server RDBMS architectures, hints on DDBMS and cloud databases.

- Brief introduction to NoSQL Systems.


Lecture slides are available at Unibo e-learning platform.

D. Maio, S. Rizzi, A. Franco. Esercizi di Progettazione di Basi di Dati. Esculapio, 2005.

Further readings

R. Elmasri, S. Navathe. Sistemi di basi di dati – Fondamenti e complementi (settima edizione). Pearson, 2018.

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone. Basi di Dati, McGraw-Hill Italia, 2018.

P. Ciaccia, D. Maio. Lezioni di Basi di Dati. Esculapio, 2002.

Teaching methods

The lectures will focus on database design and implementation. The course is integrated with guided class and laboratory exercises, where the theoretical aspects are put into practice.

Assessment methods

The examination consists of three parts:

1. A laboratory project concerning either the design and implementation of a database application or the development of a software module related to one of the lecture topics. The accomplishment of the project is necessary qualification for the examination.

2. Written test with exercises and questions about the course topics. During the written test it is not allowed to consult any kind of material.

3. An optional oral examination (upon successful completion of the written test) consisting of questions related to the course program.

Note. For the online exam methods valid for the period of the COVID 19 health emergency, until new provisions are made, consult the course website on the Unibo virtual platform.

Note. The retention period of the project document and written exam test is 6 months starting from the official recording of the exam grade.

Teaching tools

Several RDBMSs are available in the laboratory (SQL Server, MySQL, Access, Oracle. ...); SQL Server (or MySQL) is used for the laboratory exercises. Moreover some database design tools are available. Java and C# are adopted for db application development.

Office hours

See the website of Annalisa Franco