Academic Year 2023/2024 - Docente: SIMONE PALAZZO

Risultati di apprendimento attesi

The learning outcomes of this teaching activity, expressed in terms of the Dublin Descriptors, are the following:

Knowledge and understanding

This course will provide students with the knowledge and understanding of the relational data model. In particular, the techniques and methodologies to design, build, query and manage a relational database are described, using the SQL language. In addition to the relational model, the course also presents the basics of the data models falling within the so-called NoSQL family.

Applying knowledge and understanding

For each topic of the course, a number of examples and practical exercises will be presented in class, so that the students gain the basic skills both for designing a database, and for understanding an existing model written in the SQL language. Part of the exercises will be carried out using software packages employed in professional contexts.

Making judgements

Students will be able to evaluate the different alternatives when designing and querying a database. The basic knowledge of the models falling in the NoSQL paradigm will allow the student to assess in which cases one of these models can be preferred to the relational model.

Communication skills

The design of the conceptual model of a database for a given application requires the capability of translating the requirements expressed by the user in natural language, into the formalism of the relational model. The students will learn the basic communication capabilities needed to interact with non-technical users in order to clearly define the application requirements.

Learning skills

The student will learn the basic principles behind the design and use of relational and non-relational models, providing them with the essential tools for extending their knowledge on more advanced technical aspects and on different database management system implementations.

Course Structure

Lectures and hands-on exercises.

Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.

Required Prerequisites

None, although basic programming skills are helpful.

Attendance of Lessons

Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment of the oral exam.

Detailed Course Content

  • Fundamentals of Database Management Systems (DBMS) 

  • Relational Model: basic concepts, integrity constraints and keys. 

  • SQL language: data definition, data modification, queries, views, transactions. 

  • NO-SQL database: MongoDB 

Textbook Information

  1. R. Elmasri and S. Navathe, "Fundamentals of Database Systems", 7th Edition, Pearson, 2016. 

  2. Instructor’s notes

Course Planning

 SubjectsText References
1Relational model (part 1)
2Relational model (part 2)
3Relational algebra (part 1)
4Relational algebra (part 2)
5Relational algebra exercises
6SQL basic concepts (part 1)
7SQL basic concepts (part 2)
8SQL exercises
9SQL aggregate operators
10SQL transactions and views
11NoSQL (part 1)
12NoSQL (part 2)
13NoSQL exercises

Learning Assessment

Learning Assessment Procedures

The final exam will consist of two parts:

  • A written test with SQL exercises
  • An oral discussion of the written test

Learning assessment may also be carried out on line, should the conditions require it.

Examples of frequently asked questions and / or exercises

The written test consists of:

  • Creation of a database
  • Creation of tables, given the specifications
  • Implementation of queries in SQL

Written test simulations will be carried out during the course.

At the oral discussion, students will be asked questions on how they implemented the database specifications and queries in the written test. In case of mistake on the written test, students will be asked to find, explain and correct their mistakes.