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.
Contact:
Louisa Lambrecht
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).
Contact:
Louisa Lambrecht
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.
Contact:
Denis Hirn