The course covers advanced aspects of the most important database query languages over the broadly used
logical models (relational, tree, and graph), with an emphasis on a mutual comparison of these languages and
their key features. The part focusing on more theoretical aspects is devoted to the topic of evaluation and
optimization of SQL queries, and a comparison of the expressive power of relational languages. The more
practical part addresses query constructs, syntax, and semantics within SQL, Datalog, XPath, XQuery, SPARQL,
MongoDB, and Cypher languages.
Last update: Zavoral Filip, RNDr., Ph.D. (07.05.2024)
Předmět pokrývá pokročilé aspekty nejdůležitějších databázových dotazovacích jazyků nad běžně používanými
logickými modely (relační, stromový a grafový), a to s důrazem na vzájemné srovnání těchto jazyků a jejich klíčové
vlastnosti. Část zaměřená na teoretičtější aspekty se věnuje tématu vyhodnocování a optimalizace SQL dotazů a
srovnání vyjadřovací síly relačních jazyků. Praktičtější část řeší dotazovací konstrukty, syntax a sémantiku v rámci
jazyků SQL, Datalog, XPath, XQuery, SPARQL, MongoDB a Cypher.
Last update: Zavoral Filip, RNDr., Ph.D. (07.05.2024)
Syllabus -
SQL language: data model, query constructs, three-valued logic, CUBE and ROLLUP operators, recursive queries.
SQL evaluation and optimization: access methods, external sort, joining tables using nested loops, merging and hashing, query evaluation plan, statistical optimization, algebraic optimization.
Vyhodnocování a optimalizace SQL: přístupové metody, externí řazení, spojování tabulek pomocí hnízděných cyklů, slévání a hašování, plán vyhodnocení dotazu, statistická optimalizace, algebraická optimalizace.