10906 - Databases

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 6673)

    Also valid for First cycle degree programme (L) in Biomedical Engineering (cod. 9082)

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.

Readings/Bibliography

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. As concerns the teaching methods of this course unit, all students must attend Module 1, 2 on Health and Safety online

Assessment methods

Learning is assessed through the completion of an individual or group project and a written examination.

The project is designed to assess the student's ability to design and develop an application based on a relational database by applying the conceptual and logical database design methodologies presented during the course. Students are also required to document the different phases of the design process, justify the adopted design choices, and develop a functional application equipped with an appropriate user interface.

Submission of a project that is deemed satisfactory is a prerequisite for admission to the written examination. Once approved, the project remains valid for subsequent examination sessions.

The written examination is intended to assess:

  • knowledge of the database models, languages, and design methodologies covered during the course;
  • the ability to analyze an application domain and design relational databases;
  • the ability to translate requirements into conceptual, logical, and relational schemas;
  • the ability to formulate SQL queries and data manipulation statements;
  • the ability to apply theoretical concepts to solve database design problems.

The project contributes between 0 and 4 points to the final grade, depending on the quality of the database design, the correctness of the implementation, the quality of the documentation, and the ability to justify the adopted design choices.

The written examination is graded on a 30-point scale. The final grade is obtained by adding the project score to the written examination grade, provided that the written examination has been passed with a minimum score of 16/30.

The overall evaluation takes into account:

  • the correctness of the conceptual and logical database design;
  • the quality of the relational schema and the adopted design solutions;
  • the correctness and effectiveness of the SQL queries;
  • the quality of the implemented application and its documentation;
  • the ability to justify methodological and design choices;
  • mastery of the theoretical concepts and appropriate use of technical terminology.

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

SDGs

Quality education

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