DBMS - Lesson 4 - DBMS Components and Structure
DBMS - Lesson 4 - DBMS Components and Structure
DBMS components
Components are the different parts that work together to define, store and manage collected data
(databases), which collective form the DBMS. A DBMS consists of several components as shown
in the following diagram
Hardware
Software
COMPONENT
Procedures
Users
Each component has a specific function in the database management system environment as
illustrated in the following diagram:
In order to facilitate its functions, a DBMS has the following key components:
Hardware
Hardware refers to the physical, electronic devices such as computers I/O devices, storage devices,
etc., that offer the interface between computers and real-world systems. This DBMS component is
used for keeping and storing the data in the database.
Software
Software is the main component of a database management system. It is a set of programs used
to manage and control the overall database. This includes the database software itself, the
Operating System, the network software used to share the data among users, and the application
programs for accessing data in the database.
Note:
The Software component provides an easy-to-use interface to store, retrieve, and update
data in the database.
The Software component is capable of understanding the Database Access Language and
converts it into actual database commands to execute or run them on the database.
Some DBMS software examples include MySQL, PostgreSQL, Microsoft Access, SQL
Server, FileMaker, Oracle, RDBMS, dBASE, Clipper, and FoxPro.
Data
Data is that resource, for which DBMS was designed. The motive behind the creation of DBMS
was to collect, store, process, access and utilize data. Data are raw facts and information that
need to be organized and processed to make it more meaningful. Generally, data comprises facts,
observations, perceptions, numbers, characters, symbols, images, etc.
Note:
Data is the most important component of the database management system.
The main task of DBMS is to process the data. Databases are defined, constructed, and
then data is stored, retrieved, and updated to and from the databases.
The database contains both the metadata (description about data or data about data) and
the actual (or operational) data.
Procedures
Procedures are general rules and instructions that help to design the database and to use a database
management system. Procedures are used to setup and install a new database management system
(DBMS), to login and logout of the DBMS software, to manage DBMS or application programs,
manage the day-to-day operations, to take backup of the database, and to change the structure of
the database and generate reports.
Users
Users are the people who control and manage the databases and perform different types of
operations on the databases in the database management system. A user can:
Write commands in the Database Access Language and submit it to the DBMS for
execution, which is then translated and executed by the DBMS.
Create new databases, tables, insert data, fetch stored data, update data and delete the data
using the access language.
Types of DBMS users
There are three main types of users who play different roles in DBMS namely:
Application programmers/Software developers: These are users who write the
application programs in programming languages (such as Java, C++, or Visual Basic) to
interact with databases. They are involved in developing and designing the parts of a
DBMS.
Database Administrators (DBA): These are users who manages the overall DBMS. The
DBA takes care of the security of the DBMS, its availability, managing the license keys,
managing user accounts and access etc.
End users: These are the users who interact with the database management system to
perform different operations by using the different database commands such
as insert, update, retrieve, and delete on the data, etc.
Classification of database users
Database users can be database classified into different groups namely
Naive users
Naive users are those users who need not be aware of the presence of the database system or any
other system supporting their usage. Naive users are end users of the database who work through
a menu driven application program, where the type and range of response is always indicated to
the user, e.g. a user of an Automatic Teller Machine (ATM) falls in this category.
The user is instructed through each step of a transaction. He or she then responds by pressing a
coded key or entering a numeric value. The operations that can be performed by valve users are
very limited and affect only a precise portion of the database, e.g. in the case of the user of the
Automatic Teller Machine, user’s action affects only one or more of his/her own accounts.
Online users
Online users are those users who may communicate with the database directly via an online
terminal or indirectly via a user interface and application program. These users are aware of the
presence of the database system and may have acquired a certain amount of expertise with in the
limited interaction permitted with a database.
Sophisticated users
Sophisticated users are users who interact with the system without, writing programs. Instead, they
form their requests in database query language. Each such query is submitted to a very processor
whose function is to breakdown DML statement into instructions that the storage manager
understands.
Specialized users
Specialized users are those users who write specialized database application that do not fit into the
fractional data-processing framework, e.g. Computer-aided design systems, knowledge base and
expert system, systems that store data with complex data types, e.g. graphics data and audio data
Application users
Application users are professional programmers are those who are responsible for developing
application programs or user interface. The application programs could be written using general
purpose programming language or the commands available to manipulate a database.
DBA- Database Administrator
The database administrator (DBA) is the person or group in charge for implementing the database
system, within an organization. The “DBA has all the system privileges allowed by the DBMS and
can assign (grant) and remove (revoke) levels of access (privileges) to and from other users. DBA
is also responsible for the evaluation, selection and implementation of DBMS package.
Data control language
Database Access Language is a language used to write commands to access, update, and delete
data stored in a database. Users can write commands using Database Access Language before
submitting them to the database for execution. Through utilizing the language, users can create
new databases, tables, insert data, and delete data. Examples of database languages include, SQL
(Structured Query Language), My Access, Oracle, etc.
Note:
Database Access Language is a simple language designed to write commands to access,
insert, update and delete data stored in any database.
Database Access language is used to access the data to and from the database, enter new
data, update already existing data, or retrieve required data from DBMS.
The user writes some specific commands in a database access language and submits these
to the database, which then processes the data and generates and displays a set of results
into a user readable form.
Users can write commands or query the database using Database Access Language before
submitting them to the database for execution.
Structure of a database management system
A database managements system is partitioned into different modules that deal with each of the
responsibilities of the overall database management system. Some of the functions of the
database system may be provided by the computer operating system. In most cases the computer
operating system provides only the most basic services and the database system must build on
that base. Thus, the design of databases management system must include consideration of the
interface between the database system and the operating system.
Functional components of a database management system
The structure of a database management system also referred to as the overall system
structure or database architecture is broadly divided into the three functional components or
modules namely
The query processor
The storage manager
The disk storage
Complier and
Application D M L queries DDL interpreter
linker
program
Object
Code
Storagemanager
Storage manager Buffer manager Transaction
File manager Authorization and manager
integrity
manager
Disk storage
Data Control Language (DCL). The data control language deals with the permissions
and other access controls of the database.
Transaction Control Language (TCL). The transaction control language consists of
commands which deals with internal database transactions.
Optimization engine
The optimization Engine is a DBMS component that allows the DBMS to provide insights into
the performance of the database in terms of optimizing the database itself and queries. When
coupled with database monitoring tools, it can provide a powerful toolset to gain the best
performance out of the database.
Metadata catalog
The metadata catalog a DBMS components that acts as the centralized catalog of all the objects
within the database. When an object is created, the DBMS keeps a record of that object with
some metadata about it using the metadata catalog. Then, this record can be used to:
Verify user requests to the appropriate database objects
Provide an overview of the complete database structure
Log manager
The Log manager is a DBMS component which keeps all the logs of the DBMS. These logs
consist of user logins and activity, database functions, backups and restore functions, etc. The log
manager ensures all these logs are properly recorded and easily accessible.
Data utilities
In addition to all the above, most DBMS software comes with additional inbuilt utilities to
provide functionality such as:
Data integrity checks
Backup and restore
Simple database repair
Data validations
The execution process of a DBMS
The following are the logical steps followed while executing users request to access the database
system:
1. Users issue a query using particular database language, for example, SQL commands.
2. 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.
3. The DBMS accepts the users SQL commands and analyses them.
4. 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.
5. The DBMS executes these plans against the physical database and returns the answers to
the user.
Note: Using components such as transaction manager, buffer manager, and recovery manager,
the DBMS supports concurrency and recovery.
References
Dr. S.B Gupta, A. Mittal (2009) Introduction to database management systems. Laxmi
publications PVT limited.
C.Rajiv (2016) Database Management System (DBMS). A practical Approach 5th
Edition. S.Chand Publishing.
R.P Mahapata, Govind Verma (2013) Database Management System. Khama Publishing
House.
T.Connolly, C.Begg (2005) Database Management System. A practical approach to
design, implementation and management. Pearson Education Limited
https://www.studytonight.com/dbms/database-model.php
http://www.myreadingroom.co.in/notes-and-studymaterial/65-dbms/464-components-of-
database-systems.html
https://www.javatpoint.com/dbms-architecture
https://beginnersbook.com/2018/11/dbms-architecture/
https://www.relationaldbdesign.com/database-design/module2/intro-relational-database-
structure.php.