Data Management (academic year 2020/21)
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. This course is also for students of the Corso di Laurea Magistrale in Ingegneria Gestionale of the same School. The language for both the course and the exam is English. The lectures are held in the second semester (March 2021 - May 2021).
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. Several major issues related to the theory and the design of database systems are covered, including concurrency control, recovery, file and index organizations, query processing.
- February 22, 2022. The exam of Data Management in the 2021/2022 special session will be held in April 8, 2022 at 9:00pm (classroom A7 at via Ariosto 25). Students willing to participate in the exam must book through INFOSUD according the deadline specified for each exam. Students who do not book for the exam will be not allowed to participate, and there will be no exception to this rule. Only students of certain categories can participate in the exam - see https://www.uniroma1.it/it/content/esami-di-profitto
Students that are not in these categories will not be allowed to participate. Again, there will be no exception to this rule.
- M. Lenzerini, Lecture notes (slides to download)
Students can download the course slides by accessing the MOODLE system at this page.
The slides will be available during the lecture period. 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.
- Monday: [10:00am - 12:00am], via Eudossiana 18 (RM041), classroom 41,
- Monday: [12:00pm - 13:00pm], via Eudossiana 18 (RM041), classroom 41,
- Wednesday: [08:00am - 10:00am] via Eudossiana 18 (RM033), classroom 40.
The lectures can also be attended on-line, following this link:
https://uniroma1.zoom.us/j/83220889311?pwd=ZkxrQ3crNFJDVlIwS21jelp4bjRXZ...
The recording of the on-line lectures will be available in the MOODLE page of the course.
Week | Monday (10:00am - 12:00am) classroom 41 | Monday (12:00pm - 13:00pm) classroom 41 | Wednesday (08:00am - 10:00am) classroom 40 |
01 (Feb 22) | Lectures 1,2 - Course overview - Relational data model |
Lecture 3 - Recap of relational algebra |
Lectures 4,5 - Recap of relational algebra queries - Null values in the relational model |
02 (Mar 01) | Lectures 6,7 - Recap of SQL |
Lecture 8 - The architecture of a data manager - Buffer management |
Lectures 9,10 - Transactions and concurrency - Serializability and view-serializability |
03 (Mar 08) | Lectures 11,12 - Conflict-serializability |
Lecture 13 - Conflict vs view serializability |
Lectures 14,15 - Locking protocols - The two-phase locking protocol |
04 (Mar 15) | Lectures 16,17 - The dirty read problem - The notion of recoverability |
Lecture 18 - Strict and rigorous schedules - Exercises on concurrency control (part 1) |
Lectures 19,20 - Timestamp-based methods - Multiversion concurrency control |
05 (Mar 22) | Lectures 21,22 - Exercises on concurrency control (part 2) |
|
Lectures 23,24 - Concurrency control in SQL |
06 (Mar 29) | - The recovery manager (https://youtu.be/tyKfL7L_wb0) | - The recovery manager (https://youtu.be/tyKfL7L_wb0) | Lectures 25,26 - The access file manager - Records, Pages, Files |
07 (Apr 05) | Lectures 27,28 - Sorting in secondary storage |
||
08 (Apr 12) | Lectures 29,30 - The notion of index - Clustering sorted index |
Lecture 31 - Unclustering sorted index |
Lectures 32,33 - Tree-based index |
09 (Apr 19) | Lecture 34,35 - Exercises on file organizations (part 1) |
Lecture 36 - Hash-based index |
Lecture 37,38 - Evaluation of unary operators: one-pass algorithms |
10 (Apr 26) | Lecture 39,40 - Evaluation of binary operators: one-pass algorithms | Lecture 41 - Exercises on file organizations (part 2,3) |
Lectures 42,43 - Nested loop algorithms |
11 (May 03) | Lectures 44,45 - Two-pass algorithms based on sorting |
Lecture 46 - Two-pass algorithms based on hashing |
Lectures 47,48 - Multi-pass algorithms for relational operators |
12 (May 10) | Lectures 49,50 - Index-based algorithms |
Lecture 51 - Parallel algorithms for relational operators |
|
13 (May 17) | Lectures 52,53 - Exercises on evaluation of relational operators |
Lecture 54 - Exercises on evaluation of relational operators |
Lectures 55,56 - Query processing: equivalence of relational algebra expressions - Logical query plan |
14 (May 24) | Lectures 57,58 - Query processing: estimation of table size |
Lecture 59 - Query processing and optimization: physical query plan |
Lectures 60,61 - Exercises on query processing and optimization |
- Exercises on concurrency control - part 1 (see the Moodle page)
- Exercises on concurrency control - part 2 (see the Moodle page)
- Exercises on file organizations - part 1 (see the Moodle page)
- Exercises on file organizations - part 2 (see the Moodle page)
- Exercises on file organizations - part 3 (see the Moodle page)
- Exercises on evaluation of relational operators - part 1 (see the Moodle page)
- Exercises on evaluation of relational operators - part 2 (see the Moodle page)
- Exercises on query processing and optimization (see the Moodle page)
- 1. The structure of a Data Base Management System (DBMS)
- 2. Buffer management: buffer pool, replacement strategies, operations on the buffer
- 3. Concurrency management: The concept of transaction, The notion of serializability, Concurrency management strategies
- 4. Recovery: Crash management, Classification of failures, Recovery strategies
- 5. Physical structures for data bases: Record and page organizations, Simple file organizations, Indexed file organizations
- 6. Query processing: Evaluation of relational algebra operators, logical and physical query plans
- 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: June 2021
- Second written exam: July 2021
- Third written exam: September 2021
- Special exam session (only for "fuori corso" or "part-time" students): October 2021
- Fourth written exam: January 2022
- Fifth written exam: February 2022
- Second special exam session (only for "fuori corso" and "part-time" students): April 2022
- Data about the evaluation of the course by students of the previous editions are available in the home pages of the corresponding editions (see below). Data about the 2020-2021 edition will be posted here as soon as they are available.
- Academic year 2019/2020
- Academic year 2018/2019
- Academic year 2017/2018
- Academic year 2016/2017
- Academic year 2015/2016
- Academic year 2014/2015
- Academic year 2013/2014
- Academic year 2012/2013
- Academic year 2011/2012
- Academic year 2010/2011
- Academic year 2009/2010
- Academic year 2008/2009
- Academic year 2007/2008
- Anno accademico 2006/2007 (in Italian)
- Anno accademico 2005/2006 (in Italian)
- Anno accademico 2004/2005 (in Italian)
- Anno accademico 2003/2004 (in Italian)
- Office hours. Tuesday, 5:00 pm at the Meet room at https://meet.google.com/hzy-save-oqw -- please, look at the last minute news for the next office hours