This course covers the implementation of database systems by addressing the main topics, including data storage, indexing, querying; query optimization and execution; concurrency control, and transaction management.
The purpose of the course is to become familiar with the principles and the ideas behind established techniques for handling data at scale. Students will implement classic and cutting-edge database systems methods in three projects. Projects represent the biggest chunk of this course. The projects require extending the functionality of a data management system to support novel features. In at least one of the projects, students will also write a technical report that describes and experimentally evaluates the built system.
The course is complemented by lab sessions to guide students through the design and validation of the methods developed during the lectures.
Teaching and Learning Methods: Lectures and lab. sessions (preferably one student per group).
Course Policies: Students are expected to do their own assigned work. If it is determined that a student has engaged in any form of academic dishonesty, he or she may fail the course and additional sanctions according to EURECOM's policies.
- Book: RAMAKRISHNAN R., GEHRKE J. Database Management Systems. McGraw-Hill, 2002, 1104p. (during the course, we will cover several chapters in the textbook).
When needed, suggested books and/or research articles will be reported in class.
For the course to be effective, course participants should already have acquired basic database knowledge (i.e., know SQL basics). Course participants should also have programming experience.
The course will cover the following topics:
- Introduction to database systems
- Architectural foundations
- Buffer management
- Index structures
- Query execution
- Query optimization
- Concurrency control
- Advanced topics
- Project review
Be able to identify the key elements composing a database system;
Be able to recognize the suitability of different techniques given a data processing problem;
Be able to use and evaluate alternative techniques for data processing problems;
Be able to develop proof-of-concept components of a DBMS.
Nb hours: 42.00
- Assessed projects (50% of the final grade),
- Final written exam (50% of the final grade).
To pass the course are required to submit all projects and score >=50% on the final exam.