Query langauge for relational databases
| 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: | dotazovací jazyk|relační databáze|návrh jazyků|SQL|Postgres|PostgreSQL |
| Klíčová slova anglicky: | query language|relational database|language design|SQL|Postgres|PostgreSQL |
| Akademický rok vypsání: | 2023/2024 |
| Typ práce: | bakalářská práce |
| Jazyk práce: | angličtina |
| Ú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 |
| Datum a čas obhajoby: | 28.06.2024 09:00 |
| Datum odevzdání elektronické podoby: | 08.05.2024 |
| Datum odevzdání tištěné podoby: | 08.05.2024 |
| Datum proběhlé obhajoby: | 28.06.2024 |
| Oponenti: | RNDr. David Bednárek, Ph.D. |
| 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/ |
- zadáno a potvrzeno stud. odd.