Abstract
Relational database systems are an established technology that has become indispensable.One of the fundamental ideas of relational data models is to detach the logical data model
from the actual physical data storage. This separation is also reflected in the fact that query
languages such as SQL are declarative, which means that the database system itself has to
figure out which concrete operators (e.g. for access or joins) it should use in order to carry
out a query.
The aim of this thesis is to describe the steps necessary for query processing, starting with
the parsing of the query to the optimization which leads to an execution plan and finishing
with the carrying out of this plan. A special focus is laid on the query optimizer, where the
fundamental idea of cost-based query optimization is explained at the example of the System
R query optimizer, with an outlook to other, additional ideas in the field of cost-based query
optimization. In order to explain query processing, the thesis also gives insights into data
storage concepts like pages, indexes and statistics.
Apart from this theoretical treatise, the thesis also aims to explain various concepts with the
help of a prototypical read-only main-memory database. The main focus of the prototype
lies on the query optimizer, which, although it is a simplified implementation, displays the
same strengths and weaknesses of the cost-based optimizers it is modeled after.
Date of Award | 2024 |
---|---|
Original language | English (American) |
Supervisor | Erik Pitzer (Supervisor) |