Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Query langauge for relational databases
Thesis title in Czech: Dotazovací jazyk pro relační databáze
Thesis title in English: Query langauge for relational databases
Key words: dotazovací jazyk|relační databáze|návrh jazyků|SQL|Postgres|PostgreSQL
English key words: query language|relational database|language design|SQL|Postgres|PostgreSQL
Academic year of topic announcement: 2023/2024
Thesis type: Bachelor's thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: Mgr. Tomáš Petříček, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 01.02.2024
Date of assignment: 01.02.2024
Confirmed by Study dept. on: 01.02.2024
Date of electronic submission:08.05.2024
Opponents: RNDr. David Bednárek, Ph.D.
 
 
 
Guidelines
The SQL language is the dominant interface for querying relational databases. However, as a programming language, SQL has a number of limitations. The langauge often relies on ad-hoc extensions and queries cannot generally be constructed in a compositional way (building more complex queries from smaller parts). The aim of this thesis is to design a novel query language for relational databases and implement a support for the language in PostgreSQL [4]. The language will offer a more uniform and composable model for constructing queries based on two primitive notions, filters and functions.

The language design can draw on existing composable query systems such as LINQ, XQuery [5] and Pig latin [1]. It can be implemented as a PostgreSQL [4] extension that translates the input to an appropriate PostgreSQL query representation, by mapping the (compositional) input query to a corresponding (more ad-hoc) SQL-like representation, using translation techniques such as [2, 3]. The work should result in a langauge impementation with a number of case studies that illustrate its compositionality and uniformity, as well as a rigorous (either formal or informal) description of the langauge and interesting aspects of the translation procedure.
References
[1] Olston, C., Reed, B., Srivastava, U., Kumar, R. and Tomkins, A., 2008, June. Pig latin: a not-so-foreign language for data processing. In Proceedings of the 2008 ACM SIGMOD international conference on Management of data (pp. 1099-1110).

[2] Grust, T., Rittinger, J. and Schreiber, T., 2010. Avalanche-safe LINQ compilation. Proceedings of the VLDB Endowment, 3(1-2), pp.162-172.

[3] Shaikhha, A., Klonatos, Y., Parreaux, L., Brown, L., Dashti, M. and Koch, C., 2016, June. How to architect a query compiler. In Proceedings of the 2016 International Conference on Management of Data (pp. 1907-1922).

[4] The PostgreSQL Global Development Group, 2024. PostgreSQL 16.1 Documentation. Online at: https://www.postgresql.org/docs/

[5] Robie, J., Dyck, M., Spiegel, J. (eds.), 2017. XQuery 3.1: An XML Query Language. W3C Recommendation. Online at: https://www.w3.org/TR/xquery-31/
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html