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
Post a Comment