Query langauge for relational databases
Dotazovací jazyk pro relační databáze
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/192098Identifikátory
SIS: 268001
Kolekce
- Kvalifikační práce [11214]
Autor
Vedoucí práce
Oponent práce
Bednárek, David
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Obecná informatika
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
28. 6. 2024
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
dotazovací jazyk|relační databáze|návrh jazyků|SQL|Postgres|PostgreSQLKlíčová slova (anglicky)
query language|relational database|language design|SQL|Postgres|PostgreSQLRelační databáze jsou široce rozšířené v softwarovém inženýrství, ale jazyk, kterým se k nim přistupuje, SQL, byl vytvořen v 70. letech minulého století a má řadu pro- blémů, které komplikují složitější dotazy. V této práci poukážeme na některé vady SQL, projdeme vybrané existující alternativy a definujeme nový dotazovací jazyk, PPPQL, na základě konceptu posloupnosti transformací. PPPQL má oproti SQL konzistentní syntax a sémantiku, díky čemuž umožňuje jednodušeji vyjádřit komplexní dotazy. Nejprve uvedeme PPPQL skrz řadu příkladů, pak definujeme syntax a sémantiku jazyka, včetně formálního popisu pro část jazyka. Abychom validovali jeho design, jazyk PPPQL byl implementován jako rozšíření do Postgres. Projdeme nejzajímamější části jeho implementace a ukážeme, jak může být alternativní dotazovací jazyk implementován v systému Postgres.
Relational databases are widely used in software engineering, but the language used to access them, SQL, was created in the 1970s and has numerous problems that make writing complex queries unnecessarily difficult. In this thesis we will present some flaws of SQL, go through select existing alternatives, and define a new query language, PPPQL, based on the concept of a query pipeline. PPPQL improves on SQL by having a consistent syntax and semantics, allowing complex queries to be expressed more simply. We will first introduce PPPQL through a series of examples, then define the syntax and semantics of the language, using a formal description for part of the language. To validate PPPQL's design, the language was implemented as an extension to Post- gres. We will discuss the most interesting parts of its implementation and see how an alternative query language can be implemented in Postgres.