Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Dotazovací jazyk pro relační databáze
Název práce v češtině: Dotazovací jazyk pro relační databáze
Název v anglickém jazyce: Query langauge for relational databases
Klíčová slova: databáze|dotazovací jazyk|sql|postgresql
Klíčová slova anglicky: database|query language|sql|postgresql
Akademický rok vypsání: 2023/2024
Typ práce: bakalářská práce
Jazyk práce:
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: Mgr. Tomáš Petříček, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 01.02.2024
Datum zadání: 01.02.2024
Datum potvrzení stud. oddělením: 01.02.2024
Zásady pro vypracování
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.
Seznam odborné literatury
[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/
 
Univerzita Karlova | Informační systém UK