Skip to main content
Skip header

Query Processing Algorithms

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4069/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *Second Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
BAC027doc. Ing. Radim Bača, Ph.D.
Summary
Students learn how are queries processed in a relational databases and also in other types of databases. These algorithms are usually hidden but their features has a significant influence to on a query processing and optimization.
Learning Outcomes of the Course Unit
The subject focuses on query processing algorithms that are commonly used in databases. We describe different data models and query processing problems. Several different techniques are described for each problem.
Course Contents
Lectures:
1. Relational data processing principles - query plan, plan rewritings
2. Basic algorithms in relational databases - joins (algorithms, data structures)
3. Cost-based optimization - histograms, cost-model
4. Summary - complex examples
5. Spatial queries - range query, top-k nearest neighbor
6. Spatial queries - approximate nearest neighbor (ANN)
7. XML databases - path and twig queries
8. Set operations - inverted list, intersection
9. Graph databases - graph traversal, shortest distance
10. Graph database - practical work
11. Environment - main-memory/persistent environment, ACID support, parallelization, L2 caches
12. Approximation, Bloom filters

Exercises will be held in a PC lab. Exercises:
1. Query plans in relational databases - display and operator meaning
2. Change of query plans with respect to physical structure change
3. Influence of statistics on a query plan
4. Test of knowledge related to query plans
5. PostGIS
6. ANN libraries
7. XML query processing algorithms
8. SIMD merging algorithm
9. Basic graph algorithms
10. SQL queries on graphs
11. Bloom filters combined with the previous problems
Recommended or Required Reading
Required Reading:
[1] G.Fritchey. SQL Server Execution Plans. Simple Talk Publishing, 2012, ISBN: 978-1-906434-92-2
[2] B. Nevarez. Inside the SQL Server Query Optimizer. Simple Talk Publishing, 2010, ISBN: 978-1-906434-57-1
[1] M.Krátký, R.Bača. Databázové systémy, https://dbedu.cs.vsb.cz/
[2] G.Fritchey. SQL Server Execution Plans. Simple Talk Publishing, 2012, ISBN: 978-1-906434-92-2
[3] B. Nevarez. Inside the SQL Server Query Optimizer. Simple Talk Publishing, 2010, ISBN: 978-1-906434-57-1
Recommended Reading:
[1] H.Garcia-Molina, J.D.Ullman, J.D.Widom. Database Systems: The Complete Book, Prentice Hall, ISBN 0-13-031995-3, 2002.
[1] J.Pokorný, M.Valenta. Databázové systémy, ČVUT, ISBN 978-80-01-05212-9, 2013.
[2] H.Garcia-Molina, J.D.Ullman, J.D.Widom. Database Systems: The Complete Book, Prentice Hall, ISBN 0-13-031995-3, 2002.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        SQL SelectWritten test40 15
        Vytvoření jednoduchého XML procesoruProject30 0
        Implementace vybraného úkoluProject30 15