Data Management

Course objectives

General objectives: The goal of the course is the investigation on the basic concepts of Data Management systems, emphasizing both the relational model and various NoSQL models. Several major issues related to the theory and the design of relational data management systems are covered, including concurrency control, recovery, file and index organizations, query processing, OLAP and OLTP. A good knowledge of the fundamentals of Programming Structures, Programming Languages, and Databases (SQL, relational data model, Entity-Relationship data model, conceptual and logical database design) is required. Knowledge and understanding: The student will have a good knowledge on how a Data Management System, even a NoSL one, works, how it is structured, and how it is designed. Also, the student will acquire knowledge of the architecture of a database management system and of its main modules (transaction manager, recovery manager, query evaluator). The student will also acquire a good understanding of how to design the physical organization of relations (files and indices), and how the query optimizer of a Data Management system works. Applying knowledge and understanding: The students will be able to design her/his own Data Management system, including the concurrence control module, the recovery module, the access file method, and the query optimizer. Making judgements: The student will be able to evaluate various kinds of Data Management systems, including NoSQL ones, and will be able to choose the right technique for concurrency, recovery, and query processing in specific application contexts. Communication skills: The students will acquire a good knowledge on how to illustrate the algorithms and the techniques at the basis of a modern Data Manager. Learning skills: The student will be able to understand any new architecture and approach to Data Management that will become popular in the future.

Channel 1
DOMENICO LEMBO Lecturers' profile

Program - Frequency - Exams

Course program
1. Recap on databases and SQL 2. Data warehousing: architectures, multidimensional modeling, OLAP 3. Data Warehouse design methodologies; The DFM model; The logical models for DW: the star schema, the snowflake schema 4. NoSQL data models and systems: the case of graph databases; The Neo4j system 5. The notion of Knowledge Graph; RDFS Knowledge Graphs:syntax, semantics, inference 6. NoSQL data models and systems: the case of Document databases; The MongoDB system 7. The structure of a Data Management System (DBMS) 8. Buffer management: buffer pool, replacement strategies, operations on the buffer 9. Concurrency management: The concept of transaction; The notion of serializability; Concurrency management strategies; Concurrency control in SQL and PostgreSQL; Recovery: Crash management; Classification of failures; Recovery strategies 10. Physical structures for data management: Record and page organizations, Simple file organizations, Indexed file organizations 11. Query processing: evaluation of relational algebra operators
Prerequisites
A good knowledge of the fundamentals of Programming Structures (algorithms and data structures), Programming Languages, Databases (SQL, relational data model, Entity-Relationship data model, conceptual and logical database design), Theoretical Computer Science (computational complexity, computability) is required.
Books
* Lecture notes distributed by the lecturers; * R. Ramakrishnan, J. Gehrke. Database Management Systems. McGraw-Hill, 2004; * Additional optional material on concurrency control: - http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx - Gerhard Weikum, Gottfried Vossen, "Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery", The Morgan Kaufmann Series in Data Management Systems.
Frequency
Attendance is strongly recommended but not mandatory.
Exam mode
Each student can choose between two options: OPTION 1: doing only the written exam; in this case the written exam is full and the mark is between 18 and 30, as usual. OPTION 2: doing both the written exam and the project. In this case, the written exam is shortened wrt to OPTION 1, the maximum mark is 24 and the minimum mark for for the project, the maximum mark is 8 and the minimum mark for passing the project is 4. The final mark will be the sum of the two marks.
Bibliography
Gerhard Weikum, Gottfried Vossen, "Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery", The Morgan Kaufmann Series in Data Management Systems.
Lesson mode
Face-to-face lectures with exercises and hands-on sessions
ANTONELLA POGGI Lecturers' profile
  • Lesson code1022797
  • Academic year2025/2026
  • CourseEngineering in Computer Science and Artificial Intelligence
  • CurriculumSingle curriculum
  • Year1st year
  • Semester2nd semester
  • SSDING-INF/05
  • CFU6
  • Subject areaIngegneria informatica