The Data Management course is held from February to May 2025. It is a 6 ECTS course for students enrolled in the Master of Science in Engineering in Computer Science or in the Laurea Magistrale in Ingegneria Gestionale at Sapienza - University of Rome. The main instructor of the course is prof. Maurizio Lenzerini.
The course aims at providing a good knowledge of the structure and the functionalities of both relational Database Management systems (DBMSs) and NoSQL data models (including a hands-on approach).
For a detailed description of the syllabus, or for the material of the course, please refer to the link below.
Where: Via Eudossiana 18 (SPV) - Classroom 41
When:
Mon 13:00-15:00
Thu 10:00-12:00
Thu 12:00-13:00
Classroom 41 location
In order to pass the Data Management exam, two different options exist:
Do just the full written exam (all problems are mandatory). The evaluation will follow the standard rules, i.e., the minimum grade to pass the exam is 18 and the maximum grade is 30.
Do both a shortened written exam and a practical project on the topics available (Data Warehousing, NoSQL). In this case the minimum grade to pass the written test is 15 and the maximum grade is 24. The minimum grade to pass the project is 4 and the maximum grade is 8. Provided that the scores of both parts are sufficient, the final grade is given as the sum of the two evaluations. This options gives the opportunity to get a minimum grade of 19 and a maximum grade of 32 (30L).
Further details can be found in this document.
To make an appointment, please send me an e-mail where you briefly describe what you would like to talk about.
Office hours can take place both in-office and remotely:
In-person: Room B213, second floor, Department of Computer, Control and Management Engineering, Via Ariosto 25, 00185, Rome
Remotely: through Google Meet at meet.google.com/zic-bxwa-cia
F.A.Q.
(Questions regard both organizational and technical aspects. Read them all before asking.)
Q1: Are there specific dates devoted to presentations of projects?
A1: No. As soon as you complete your project, just ask me for an appointment following the indications provided in the slides.
Q2: Can project presentations be done only in presence?
A2: No. They can be done remotely at the Google Meet address indicated above.
Q3: I really want to obtain the maximum grade for the project. Can I ask you an ongoing feedback/evaluation of my work to adjust it according to the expected evaluation?
A3: I do not provide project evaluations before the presentation day, both because it is time-consuming and because the evaluation should reflect your work, not mine. What I can do is offer general advice on the aspects to cover in order to make the work more comprehensive.
Q4: Is a well-done project always worth 8 points?
A4: Not necessarily. You can choose to model your project according to your needs. You can propose a simpler project if you are not aiming for the highest score but prefer to finish in a shorter time. On the other hand, you can propose a more complex project if you are aiming for the maximum score. If in doubt about the complexity of your project proposal with respect to your expectations on the evaluation, ask me.
Q5: I am facing problems/I am not sure on how to proceed with my work. Can I ask for your help?
A5: Yes. You can reach out to me whenever you like if you are struggling in some part of your project. I will provide suggestions to help you overcome them.
Q6: My project includes code and I would like to share it as part of the project evaluation. How can I do that?
A6: To share the code of your project, please provide a link to the corresponding repository. Don't send me zip files.
Q7: I already passed the written test but not the project presentation. What is the last date for presenting my project in order to have my final grade registered within a specific exam session?
A7: I don't know.
Q8: I already passed the written test but not the project presentation. Do I have to book for the written exam again on Infostud to have my final grade registered?
A8: Yes. If you are about to complete your project and plan to register the final grade within an upcoming exam session, I suggest you to book for that session and inform prof. Lenzerini that you have booked for registration purposes only. If you have your project presentation outside of any exam session, you will be able to book for the first useful exam session.
Q9: I am not satisfied with the grade obtained at the project presentation. Can I make some changes and present it again to have my grade reviewed?
A9: No. If you refuse your grade you are required to go with a new project.
Q10: Which are the requirements to obtain the maximum grade for the project part?
A10: In order for a project to be evaluated with the highest score, it must meet certain criteria, including: demonstrating a reasonable level of complexity, providing a non-trivial and accurate modeling, and including detailed and well-motivated analyses. Notice that questions can be posed to students to establish whether or not to assign an honors grade.
Q11: I want to do a project on Data Warehousing. Which are the relevant aspects to consider to obtain a high grade?
A11: First and foremost, choose the dataset carefully. Try to do a sketch of the DFM schema of your Data Warehouse before making your project proposal. You are expected to provide a modeling which includes at least 3 non-trivial dimensions (e.g., they should contain some hierarchies to be used for OLAP operations). Show interesting insights over your Data Warehouse through OLAP sessions. Provide the SQL queries to be posed on the Star/Snowflake schema (you can choose which one to adopt, but you have to be able to motivate your choice). Designing and implementing the Reconciled Layer (by means of suitable ETL operations) can contribute to a higher evaluation.
NB: DFM + Star/Snowflake schema are mandatory for every project on Data Warehousing.
Q12: I want to do a project based on the comparison between the relational model and a NoSQL-based model. Which are the relevant aspects to consider to obtain a high grade?
A12: Choose the dataset carefully. Too small datasets are to be avoided due to the risk of them not being suitable for the task of highlighting the peculiarities of different systems. Carefully design the conceptual modeling for both the relational case and the NoSQL case, justifying your choices and avoiding too trivial modeling (e.g., a graph representation with a single type of edge and/or node, or aggregates with a single collection of non-nested aggregate structures). Try to compare the two approaches on different aspects, e.g., performance on specific queries, complexity of the query languages, ease-of-use of the different systems, scalability, etc.
Q13: I have found a dataset consisting of a set of csv files. Do I have to treat them as relational tables and import them as they are in my database?
A13: No. In many cases datasets that you can find online are not organized according to the relational model. They consist of semi-structured data. It is up to you to understand the semantics of the data, carefully design the proper conceptual model and load your data into the corresponding database. You are free to leave out data that is not relevant for your analysis and you are free (encouraged) to integrate different sources into a unified view (database).
Q14: I want to do a comprehensive project on DW, but the tool that I want to use (e.g., Tableau Public) does not allow to connect with the relational DB representing the reconciled data layer. What can I do?
A14: You might still want to design and implement the relational reconciled data layer. Then, instead of actually executing the SQL ETL queries, just formulate them. Then, convert your relational database into a format which you can import into your selected tool. It does not matter if the actual import is different from the one represented by the SQL queries. It is sufficient to show what you would have done in the case of a ROLAP system allowing to import data by means of SQL queries.