ABSTRACT

As discussed in the previous chapter, database management systems (DBMSs) let users specify queries using high-level declarative languages such as SQL. Then, the DBMS determines the best way to evaluate the input query and to obtain the desired result. To answer a SQL query, a typical DBMS goes through a series of steps, illustrated in Figure 2.1:

1. The input query, treated as a string of characters, is parsed and transformed into an internal data structure (i.e., an algebraic tree). This step performs both syntactic and semantic checks over the input query, rejecting all invalid requests.