10906 - Databases

Academic Year 2023/2024

  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

    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

The examination consists of two parts:

1. A laboratory project concerning the design and implementation of a database application. The accomplishment of the project is necessary qualification for the examination.

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

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

SDGs

Quality education

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