Data Management (academic year 2015/2016)



For whom is this course. This 6 credits course is for the students of the Master of Science in Engineering of Computer Science (School of Engineering) of the Sapienza Università di Roma. The language for both the course and the exam is English. The lectures will be held in the first semester (September 2015 - December 2015).
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.
Course goals. The course presents the basic concepts of database systems, emphasizing the relational model. Several major issues related to the theory and the design of relational database systems are covered, including concurrency control, recovery, file and index organizations, query processing.


  • News
    • October 8, 2016 The next exam will be held on October 25, 2016, at 2pm in classroom 201, "Edificio ex-poste", via Scalo San Lorenzo 82.
    • December 24, 2015 The lectures of the course are over. Professor Lenzerini thanks all the students who have regularly attended the lectures, and encourages them to carry out the evaluation of the course.
  • Lecture material
    • M. Lenzerini, Lecture notes (slides to download)
      Students can download the course slides by accessing the MOODLE system at the page of the Data Management course in MOODLE. Please, note that all students of Sapienza can access the MOODLE system by using the user name and the password of the university
    • R. Ramakrishnan, J. Gehrke. Database Management Systems. McGraw-Hill, 2004
    • Students willing to read more about concurrency control can freely download an excellent book from the following site: http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx

      If one is looking for a more modern book, which is not free, a good suggestion is:

      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.

  • Lectures
    • When: Tuesday [08:30am - 10:00am], Thursday [08:30am - 10:00am] and Thursday [10:15am - 11:45am] from September 2015 to December 2015
    • Where: Classroom B2 "Marco Cadoli", via Ariosto 25, Roma
    • Schedule:

      Week Tuesday (08:30 - 10:00) Thursday (08:30 - 10:00) Thursday (10:15 - 11:45)
      01 (Sep 28)
      ------
      Lectures 1,2
      - Course overview
      Lectures 3,4
      - Relational data and queries
      02 (Oct 05) Lectures 5,6
      - Architecture of a DBMS
      - Buffer management
      - Record&page representations
      ------
      ------
      03 (Oct 12) Lectures 7,8
      - Simple file organizations
      - Cost of operations on simple file organizations
      Lectures 9,10
      - External sorting algorithms
      Lectures 11,12
      - Introduction to index-based organizations
      - Types of indexes
      04 (Oct 19)
      ------
      ------
      ------
      05 (Oct 26) Lectures 13,14
      - Introduction to sorted indexes
      - Clustering sorted indexes
      Lectures 15,16
      - Non clustering sorted indexes
      - Tree-based index: ISAM
      Lectures 17,18
      - Tree-based index: B+-tree
      06 (Nov 02) Lectures 19,20
      - Hash-based index: static and dynamic
      - Exercises 1 on file organizations
      Lectures 21,22
      - Exercises 2 on file organizations
      Lectures 23,24
      - Hash-based index: static and dynamic
      - Exercises 3 on file organizations
      07 (Nov 09) Lectures 25,26
      - One-pass algorithms
      Lectures 27,28
      - Nested-loop algorithms
      ------
      08 (Nov 16) Lectures 29,30
      - Two-pass algorithms based on sorting
      Lectures 31,32
      - Graph databases (Dott. Domenico Lembo)
      Lectures 33,34
      - Graph databases (Dott. Domenico Lembo)
      09 (Nov 23) Lectures 35,36
      - Two-pass algorithms based on hashing
      Lectures 37,38
      - Index-based algorithms
      - Multi-pass algorithms
      Lectures 39,40
      - Introduction to concurrency control
      - Transaction management
      11 (Nov 30) Lectures 41,42
      - View serializability
      Lectures 43,44
      - Conflict serializabilty serializability
      Lectures 45,46
      - Two-phase locking
      12 (Dec 07)
      ------
      Lectures 47,48
      - Deadlock
      Lectures 49,50
      - Recoverability
      12 (Dec 14) Lectures 51,52
      - Exercises on concurrency
      Lectures 53,54
      - Concurrency control based on timestamps
      Lectures 55,56
      - Recovery
      - Exercises
  • Exercises

  • Topics covered
    • 1. The structure of a Data Base Management System (DBMS)
    • 2. Buffer management: buffer pool, replacement strategies, operations on the buffer
    • 3. Physical structures for data bases: Record and page organizations, Simple file organizations, Indexed file organizations
    • 4. Query processing: The notion of access path, Evaluation of relational algebra operators
    • 5. Graph databases: The notion of graph data management, queries on graph data, storage structure
    • 6. Concurrency management: The concept of transaction, The notion of serializability, Concurrency management strategies
    • 7. Recovery: Crash management, Classification of failures, Recovery strategies
  • Exam
    • Final exam: the final exam is constituted by a written exam, and a possible oral examinations. Students have 2 hours for completing the written exam
    • Past written exams: you can have a look at the texts of past exams
    • To book for the exam: Please, follow the on-line booking procedure.
    • Schedule of exams:
      • First written exam: January 8, 2016 at 9:00am, classroom 33, via Eudossiana 18
      • Second written exam: February 1, 2016 at 9:00am, classroom 33, via Eudossiana 18
      • Special exam session (only for "fuori corso" and "part-time" students): April 5, 2016, at 8:30am in classroom 8, via Eudossiana 18, Roma
      • Third written exam: June 13, 2016, 9:00am, classroom 33, via Eudossiana 18
      • Fourth written exam: July 6, 2016, 9:00am, classroom 33, via Eudossiana 18
      • Fifth written exam: September 9, 2016, 9:00am, classroom 33, via Eudossiana 18
      • Second special exam session (only for "fuori corso" and "part-time" students): October 25, 2016, at 2pm in classroom 201, "edificio ex-poste", Circonvallazione Tiburtina 4.
  • Information about course evaluation by students
  • Information on past editions of this course
  • Office hours. Tuesday, 5:00 pm, at the Dipartimento di Ingegneria Informatica Automatica e Gestionale "Antonio Ruberti", via Ariosto 25, Roma, second floor, room B203 (if available), or room B217 (otherwise) -- please, look at the last minute news for the next office hours