What is the Structure of a Database Management System?
Database Management System is the combination of a Database and all the functionalities to organize and manage the data. It is software that allows us to efficiently interact with data at various levels of abstraction.
As Database Management System is a complex set of programs, it is necessary to understand all the components of DBMS so that we can easily manage the database. The most common confusion among learners is that they understand the Structure of a Database as tier Architecture in DBMS. But, it is different from it.
Difference between DBMS Structure and DBMS Architecture
The structure of DBMS refers to the logical representation of all of its modules while the architecture of DBMS refers to the representation of its design. The structure includes the components and programs which work under DBMS while architecture includes the various entities present in the DBMS and how user interaction is done with the database.
The following Diagram shows the difference between the Structure and Architecture of the Database. Thus, a DBMS Architecture can be a tier-1, tier-2, or tier-2 Architecture depending upon the Database Design but the Structure of the Database is only one standard representation of functional units of DBMS.
Let’s understand the structure of DBMS in detail. The below diagram shows the typical structure of a database management system. A Database Management System has three major components:
- Query Processor
- Storage Manager
- Disk Storage.
Structure of DBMS
The Query Processor receives the queries (requests) from the user and interprets them in the form of instructions. It also executes the instructions received from the DML Compiler. It has the following four components:
- DML Compiler: It converts the DML (Data Manipulation Language) Instructions into Machine Language (low-level language).
- DDL Interpreter: It interprets the DDL (Data Definition Language) Instructions and stores the record in a data dictionary (in a table containing meta-data)
- Query Optimizer: It executes the DML Instructions and picks the lowest cost evaluation plan out of all the alternatives present.
- Embedded DML Pre-compiler: It translates the DML statements embedded in Application Programs into procedural function calls.
Storage manager acts as the interface between the data stored in the database and the queries received from the end-user. This component in the Structure of DBMS is responsible for the constraints applied to the data so that it remains consistent. It also executes the DCL (Data Control Language). It encapsulates the following modules:
- Authorization and Integrity Manager: It checks the authority of various users who access data and the Integrity Constraints of the database.
- Transaction Manager: Its job is to assure the system remains in a proper state during the transaction process. It also ensures that concurrent transactions are executed without any conflict.
- File Manager: It manages the space allocation of files in disk and data structures which stores information in the database.
- Buffer Manager: It manages the transfer of data between the secondary and main memory. It also decides what data should be cached in the memory.
The Disk Storage in the Structure of DBMS represents the space where data is stored. It has the following components:
- Files: These are responsible for storing the data.
- Data Dictionary: It is the repository that maintains the information of the database object and maintains the metadata.
- Indices: These are the keys that are used for faster retrieval of data.
Thus, the Structure of DBMS represents the functional modules that are employed to process the queries received from the user, retrieve the data, maintain the changes in the database and optimize the data retrieval.