New Generation Data Models and Dbmss

A.Y. 2026/2027
6
Max ECTS
48
Overall hours
SSD
INFO-01/A
Language
English
Learning objectives
The aim of the course is to introduce students to new generation data models that are alternative or extend the relational model. Specifically, models will be presented that allow the representation of information with a complex structure, models that allow the representation of semi-structured data and models to manage an efficient and scalable recovery of large amounts of data. The Oracle extensions for managing these types of information and some systems that have been proposed by the NoSQL movement will also be presented.
Expected learning outcomes
The student will have to acquire the skills to design and build databases that require the management of these types of information. Furthermore, they must be able to develop queries that take advantage of the SQL language extensions to access this information and be able to decide which model and which system is best to use depending on the characteristics of the application domain.
Single course

This course can be attended as a single course.

Course syllabus and organization

Single session

Responsible
Lesson period
First four month period
Course syllabus
The subject deals with the following topics:
- The noSQL movement
o The characteristics of NoSQL systems(schema-less, data partitioning and sharding, data replication and eventual consistency)
o The NoSQL data models (key-value, document-oriented, column family, graph)
o How to chose a model relying on the applicative requirements
- MongoDB
o Architecture and functionalities of document-oriented noSQL systems
o The JSON format and query languages for JSON documents
o The MongoDB data model and query language
o Design of MongoDB databases
- Cassandra
o Architecture and functionalities of colum-family noSQL systems
o The Cassandra data model and query language
o Design of Cassandra databases
- neo4j
o Architecture and functionalities of graph noSQL systems
o The neo4j data model and cypher query language
o The PGQL standard (Property graph query language)
o Design of graph databases
Prerequisites for admission
No specific prerequisite is required for this subject rather than interest in data management issues.
Teaching methods
The subject is held in computerized classrooms so that students can test the functionality of the languages proposed and verify the main characteristics of the data management systems and the query languages. Students can then follow the teacher in the design and creation of databases that exploit new generation models.
Teaching Resources
Website:
https://myariel.unimi.it/
A detailed list of the topics covered, lesson by lesson, is published and updated on the teaching website.

The subject topics are widely covered on the Web and a specific book is not adopted.

Additional supplementary material, exercises carried out and lecture notes, prepared by the teacher, is made available on the teaching website.
Assessment methods and Criteria
The examination consists of a practical project and a written test.

The practical project involves the design and development of a database based on one of the next-generation data models presented during the course. Alternatively, students may carry out an in-depth study of a next-generation database management system not covered in class, subject to the instructor's approval. The project provides students with the opportunity to address the challenges of designing and implementing a real-world application using an advanced NoSQL database system. The project is expected to require approximately one week of work to complete. Following its discussion, the project is assigned a score ranging from −2 to +2, which is added to the mark obtained in the written test.

The written test usually lasts three and a half hours and is graded on a 30-point scale. Students are required to develop an object-oriented design for a given application domain, identifying the relevant assumptions and constraints. Based on this design, they must define a logical schema using one of the NoSQL systems covered during the course, optimizing it with respect to a given query workload. They are also expected to formulate queries in the selected NoSQL language and answer theoretical questions to demonstrate their understanding of the concepts presented during the course.

The final mark is obtained by adding the project score to the written test mark. Students who wish to improve their final grade may also take an optional oral examination.
INFO-01/A - Informatics - University credits: 6
Lessons: 48 hours
Professor: Mesiti Marco
Shifts:
Turno
Professor: Mesiti Marco
Professor(s)