Structure of DBMS
Structure of DBMS
DBMS
DBMS means Database Management System, which is a tool or software used to
create the database or delete or manipulate the database. A software programme
created to store, retrieve, query, and manage data is known as a Database
Management System (DBMS). Data can be generated, read, updated, and
destroyed by authorized entities thanks to user interfaces (UIs).
o Query Processor
o Storage Manager
o Disk Storage
The explanations for these are provided below:
1. Query Processor
The query processing is handled by the query processor, as the name implies. It
executes the user's query, to put it simply. In this way, the query processor aids the
database system in making data access simple and easy. The query processor's
primary duty is to successfully execute the query. The Query Processor transforms
(or interprets) the user's application program-provided requests into instructions that
a computer can understand.
o DML Compiler:
Compiler for DML Data Manipulation Language is what DML stands for. In keeping
with its name, the DML Compiler converts DML statements like select, update, and
delete into low-level instructions or simply machine-readable object code, to enable
execution. The optimization of queries is another function of the DML compiler.
Since a single question can typically be translated into a number of evaluation plans.
As a result, some optimization is needed to select the evaluation plan with the
lowest cost out of all the options. This process, known as query optimization, is
exclusively carried out by the DML compiler. Simply put, query optimization
determines the most effective technique to carry out a query.
o Query Optimizer:
It starts by taking the evaluation plan for the question, runs it, and then returns the
result. Simply said, the query evaluation engine evaluates the SQL commands used
to access the database's contents before returning the result of the query. In a
nutshell, it is in charge of analyzing the queries and running the object code that the
DML Compiler produces. Apache Drill, Presto, and other Query Evaluation Engines
are a few examples.
2. Storage Manager:
An application called Storage Manager acts as a conduit between the queries made
and the data kept in the database. Another name for it is Database Control System.
By applying the restrictions and running the DCL instructions, it keeps the
database's consistency and integrity. It is in charge of retrieving, storing, updating,
and removing data from the database.
o Integrity Manager:
Whenever there is any change in the database, the Integrity manager will manage
the integrity constraints.
o Authorization Manager:
Authorization manager verifies the user that he is valid and authenticated for the
specific query or request.
o File Manager:
All the files and data structure of the database are managed by this component.
o Transaction Manager:
It is responsible for making the database consistent before and after the
transactions. Concurrent processes are generally controlled by this component.
o Buffer Manager:
The transfer of data between primary and main memory and managing the cache
memory is done by the buffer manager.
o Recovery Manager:
The primary purpose of a resource manager is to make sure that the database
remains in a consistent state in the event of failures. It controls the various backup
and recovery operations.
o Scheduler:
It synchronizes concurrent tasks performed by various users at the same time. It
controls the relative order in which operations to a transaction are executed.
o Command Processor:
It is responsible for processing the queries passed by the authorization control
module.
3. Disk Storage
A DBMS can use various kinds of Data Structures as a part of physical system
implementation in the form of disk storage.
o Data Dictionary:
It contains the metadata (data of data), which means each object of the database
has some information about its structure. So, it creates a repository which contains
the details about the structure of the database object.
1. It improves the database administrators' control over the information system and the
user’s understanding of the system usage.
2. It helps document the database design process by documenting each design phase
and storing the results of design decisions.
3. It helps to find ideas on database definitions of those views.
4. It provides great support in creating a report whose data elements are used in
programs.
5. It promotes data independence i.e. the database is not affected by structural
additions or modifications to the application program.
o Data Files:
This component stores the data in the files.
o Indices:
These indices are used to access and retrieve the data in a very fast and efficient
way.