Overall Structure of a DBMS

 

Structure of a DBMS


Disk Storage

Data Dictionary

The descriptive information is itself stored in a collection of special tables called the catalog tables. The catalog tables are also called the data dictionary. We can conclude that schema of a table is stored in data dictionary (as another table). DDL (Data Definition Language) commands deal with Data Dictionary.

Data

Data denotes actual data records that a user want to store. DML (Data Manipulation Language) commands deal with Data Files.

Index Files

To speedup data records extraction process as per requirements, Indices are created by the user. Indices are created on single column or on collection of columns having repeated values, Such Indices are also stored as database object in Index Files component.

 

Storage Control Unit

Storage Control unit is responsible to manage disk storage as well as to control execution of commands. To accomplish these tasks different components are there as follows.

 

Authorization & Integrity Manager

This component is used to checks the user authorization to execute a command as well as checks commands against integrity constraints. Integrity constraints are applied by data base administrator but implementation and verification is done here. Commands that beyond user authorization or violates integrity constraints are not permitted to change the disk storage.

 

File Manager

File Manager responsible for the structure of the files and managing the file space. It also responsible for locating the block containing the required record, requesting this block from the disk manager, and transmitting the required record to the disk storage.

Buffer Manager

Data records are stored in data blocks at disk storage and requested by user, So Buffer manager is responsible to reads data from disk storage (hard disk) into main memory (RAM) whenever needed.

It decides which data to be cached in main memory.

 

Transaction Manager

The transaction manager of a DBMS controls the execution of transactions. Concurrent executions of transactions must be handle in such a way that locks must be acquired (and released at some later time) on data objects. Transaction manager ensures transaction atomicity and durability.

 

Query Processing Unit

DDL Interpreter

It interprets DDL statements, then processes the DDL statements into a set of table containing Meta Data (data about data).

DML Compiler

It translates the DML statements into low level instruction (machine language-understandable at physical level), so that they can be executed. DML compiler also responsible for Query Optimization.  

    Query Optimization

            It is a process in which multiple query execution plan for satisfying a query             are     examined and most efficient query plan is satisfied for execution.
            Database catalog stores the execution plans and then optimizer passes the                lowest cost plan for execution.

 

Query Evaluation Engine

        Responsible to execute a query plan which is selected by Query Optimizer.



Users and Applications

        


       Naive users

Naive users access Database, using GUI based web applications. Don't have any knowledge about query languages (SQL), they just use GUI of web application to access Database.

        Application programmers

Responsible to write web application programs using DML commands. Application programmers writes web application code using PHP/Python (or other languages) inside that code they write SQL commands in such a way they interact with database.

        Sophisticated users

Sophisticated users can access Database directly by using database query language commands (SQL commands). Responsible to search required data from database (Data Mining).

            Database Administrator

Database Administrator can access Database directly by using database query language commands (SQL commands), but DBA have all authorities on Database also create users and assigned them permissions.

Comments