Abstract
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 a big 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.
Part of the grade depends also on quizzes that happens in presence in every lecture using Moodle.
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.
Description
The course cover the following topics:
- Introduction to database systems
- Architectural foundations
- Storage
- Buffer management
- File and page organization
- Index structures
- Query operators and execution
- Query optimization
- Recovery
- Concurrency control
- Advanced topics
- Project review
Learning Outcomes:
-
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
Evaluation:
· Assessed projects (35% of the final grade),
· Final written exam (50% of the final grade).
· Continuous evaluation with in person quiz (15% of the final grade)
To pass the course, students are required to submit all projects and score >=50% on the final exam.