A typical structure of a DBMS with its components and relationships between them is show. The DBMS software is partitioned into several modules. Each module or component is assigned a specific operation to perform. Some of the functions of the DBMS are supported by operating systems (OS) to provide basic services and DBMS is built on top of it. The physical data and system catalog are stored on a physical disk. Access to the disk is controlled primarily by as, which schedules disk input/output. Therefore, while designing a DBMS its interface with the as must be taken into account.
Components of a DBMS
The DBMS accepts the SQL commands generated from a variety of user interfaces, produces query evaluation plans, executes these plans against the database, and returns the answers. As shown, the major software modules or components of DBMS are as follows:
(i) Query processor: The query processor transforms user queries into a series of low level instructions. It is used to interpret the online user's query and convert it into an efficient series of operations in a form capable of being sent to the run time data manager for execution. The query processor uses the data dictionary to find the structure of the relevant portion of the database and uses this information in modifying the query and preparing and optimal plan to access the database.
(ii) Run time database manager: Run time database manager is the central software component of the DBMS, which interfaces with user-submitted application programs and queries. It handles database access at run time. It converts operations in user's queries coming. Directly via the query processor or indirectly via an application program from the user's logical view to a physical file system. It accepts queries and examines the external and conceptual schemas to determine what conceptual records are required to satisfy the user’s request. It enforces constraints to maintain the consistency and integrity of the data, as well as its security. It also performs backing and recovery operations. Run time database manager is sometimes referred to as the database control system and has the following components:
• Authorization control: The authorization control module checks the authorization of users in terms of various privileges to users.
• Command processor: The command processor processes the queries passed by authorization control module.
Integrity checker: It .checks the integrity constraints so that only valid data can be entered into the database.
Query optimizer: The query optimizers determine an optimal strategy for the query execution.
• Transaction manager: The transaction manager ensures that the transaction properties should be maintained by the system.
• Scheduler: It provides an environment in which multiple users can work on same piece of data at the same time in other words it supports concurrency.
(iii) Data Manager: The data manager is responsible for the actual handling of data in the database. It provides recovery to the system which that system should be able to recover the data after some failure. It includes Recovery manager and Buffer manager. The buffer manager is responsible for the transfer of data between the main memory and secondary storage (such as disk or tape). It is also referred as the cache manger.
Execution Process of a DBMS
As show, conceptually, following logical steps are followed while executing users to request to access the database system:
(I) Users issue a query using particular database language, for example, SQL commands.
(ii) The passes query is presented to a query optimizer, which uses information about how the data is stored to produce an efficient execution plan for the evaluating the query.
(iii) The DBMS accepts the users SQL commands and analyses them.
(iv) The DBMS produces query evaluation plans, that is, the external schema for the user, the corresponding external/conceptual mapping, the conceptual schema, the conceptual/internal mapping, and the storage structure definition. Thus, an evaluation\ plan is a blueprint for evaluating a query.
(v) The DBMS executes these plans against the physical database and returns the answers to the user.
Using components such as transaction manager, buffer manager, and recovery manager, the DBMS supports concurrency and recovery.