Implementace procesoru SQL

Abstract

This bachelor’s thesis deals with the problem of implementation of an SQL Processor. It is a component whose job in database systems is to convert the input in the form of an SQL query to a sequence of database operations and afterwards to execute these operations on actual data. In order to execute queries the fastest way, it is necessary to perform a set of optimizations based both on a relational algebra and also on an effective way of working with persistent data structures where the data is stored. An SQL processor created within the scope of this bachelor’s thesis works above the physical layer of the database system RadegastDB. Given the fact that implementing a full-fledged SQL processor is a relatively complex matter, my solution supports only selected operations. Concretely, those operations are selection (with possible usage of index), projection and join on a heap table and a clustered table. This thesis contains both theoretical analysis of the SQL processor and also a description of existing implementations including mine.

Description

Subject(s)

SQL, Database System, SQL Processor, Relational Algebra, Parser, Query Compiler, Execution Engine, Physical Operations, Data Structures, RadegastDB, C++

Citation