Database systems are partitioned into modules for different functions.
Some functions (e.g. file systems) may be provided by the operating system.
Components include:
File manager
manages allocation of disk space and data structures used to represent
information on disk.
Database manager:
The interface between low-level data and application programs and queries.
Query processor
translates statements in a query language into low-level instructions
the database manager understands.
(May also attempt to find an equivalent but more efficient form.)
DML precompiler
converts DML statements embedded in an application program to normal
procedure calls in a host language.
The precompiler interacts with the query processor.
DDL compiler
converts DDL statements to a set of tables containing metadata stored in
a data dictionary.
In addition, several data structures are required for physical system
implementation:
Data files: store the database itself.
Data dictionary: stores information about the structure of the
database.
It is used heavily.
Great emphasis should be placed on developing a good design and efficient
implementation of the dictionary.
Indices: provide fast access to data items holding
particular values.