Database System Structure 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.) The Query Processor simplifies and facilitates access to data. The Query processor includes the following component.
DDL Interpreter
DML Compiler
Query Evaluation Engine
The DDL interpreter interprets DDL statements and records the definition in the data dictionary. The DML compiler translates DML statements in a query language into an evaluation plan consisting of low-level instructions that the query evaluation engine understands. The DML compiler also performs query optimization, which is it picks the lowest cost evaluation plan from among the alternatives. Query evaluation engine executes low level instructions generated by the DML compiler.
• DML Precompiled converts DML statements embedded in an application program to normal procedure calls in a host language. The precompiled 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.
Storage Manager
The storage manager is important because database typically require a large amount of storage space. So it is very important efficient use of storage, and to minimize the movement of data to and from disk .
A storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and the queries submitted to the system. The Storage manager is responsible for the interaction with the file manager.
The Storage manager translates the various DML statements into low level file system commands. Thus the storage manager is responsible for storing, retrieving, and updating data in the database. The storage manager components include the following.
Authorization and Integrity Manager
Transaction Manger
File Manager
Buffer Manger
Authorization and Integrity Manger tests for the satisfaction of integrity constraints and checks the authority of users to access data. Transaction manager ensures that the database remains in a consistent state and allowing concurrent transactions to proceed without conflicting.
The file manager manages the allocation of space on disk storage and the data structures used to represent information stored on disk. The Buffer manager is responsible for fetching the data from disk storage into main memory and deciding what data to cache in main memory.
The storage manager implements the following data structures as part of the physical system implementation. Data File, Data Dictionary, Indices. Data files stores the database itself. The Data dictionary stores Meta data about the structure of database, in particular the schema of the database. Indices provide fast access to data items.