Database Systems

Student Research Projects (Forschungsprojekte)

The Department of Computer Science offers Master’s students the opportunity to take part in a research project. This course (INFO-4998) is worth 9 credits. It provides a deeper insight into the scientific work of the research group and allows students to work on current scientific issues. The course overview of the department provides a more detailed description.

We, the Chair of Database Systems, also offer research projects, which usually belong to INFO-PRAK. We are currently working intensively on the DuckDB database system and are constantly contributing to the source code.

Application

The start of a research project is often flexible in terms of time. As we do not always have specific projects ready, you should get in touch with us early. Please send your application to db-lehre@cs.uni-tuebingen.de and include

  • your name,
  • matriculation number,
  • study program, and
  • a list of all relevant courses you have attended (in the areas of database systems, SQL, C++).

Please also briefly explain your motivation for the research project with us and what you are particularly interested in.

Open Topics

If none of the topics below match your interests, please contact us anyway to discuss other possibilities.

Enhancing the MATCH_RECOGNIZE Transpiler

MATCH_RECOGNIZE is a SQL clause that was first added to the SQL Standard in 2016. It provides an expressive tool for row pattern matching, i.e., finding sequences of ordered rows that follow a user-defined pattern.

However, many database management systems (DBMSs), do not support this clause. To bridge this gap, we developed a transpiler that translates SQL statements using MATCH_RECOGNIZE into semantically equivalent SQL code using recursive CTEs and window functions.


2024

Alexander Götz

JSON in DuckDB

DuckDB is an open source in-process SQL OLAP database management system and comes with an extension for JSON values.

However, there are certain features that are not implemented at this time. This project aims to identify these missing features, implement and test them, and ideally have them merged.

This project requires knowledge of C++ development as well as knowledge of database systems internals (i.e., as discussed in our DuckDB seminar).


2023

Romain Carl

EXCLUDE for window functions and range as table in-out function in DuckDB

DuckDB is an open source in-process SQL OLAP database management system and comes with a variety of SQL features. However, their implementation of window function lacks EXCLUDE clauses. This project aims to add this functionality to DuckDB, and ideally have them merged.
Original GitHub pull request #8311 and final pull request #9220 in joint work with other DuckDB collaborators.

Furthermore, generate_series and range functions are implemented in an unusual way in DuckDB. Another objective of this project was reimplementing unnesting and range functions as table in-out functions.
GitHub pull request #7522.