A database management system (DBMS) is system software for creating and
managing databases. A DBMS makes it possible for end users to create, protect, read, update and
delete data in a database. The most prevalent type of data management platform, the DBMS
essentially serves as an interface between databases and end users or application programs,
ensuring that data is consistently organized and remains easily accessible.
What does a DBMS do?
The DBMS manages the data; the database engine allows data to be accessed, locked and
modified; and the database schema defines the database's logical structure. These three
foundational elements help provide concurrency, security, data integrity and uniform data
administration procedures. Typical database administration tasks the DBMS supports
include change management, performance monitoring and tuning, security, and backup
and recovery. Most database management systems are also responsible for
automated rollbacks and restarts as well as logging and auditing of activity in databases and the
applications that access them.
The DBMS provides a centralized view of data that can be accessed by multiple users, from
multiple locations, in a controlled manner. A DBMS can limit what data the end user sees, as
well as how that end user can view the data, providing many views of a single database schema.
End users and software programs are free from having to understand where the data is physically
located or on what type of storage media it resides because the DBMS handles all requests.
The DBMS can offer both logical and physical data independence. This means it can protect
users and applications from needing to know where data is stored or being concerned about
changes to the physical structure of data. As long as programs use the application programming
interface (API) for the database that the DBMS provides, developers won't have to modify
programs just because changes have been made to the database.
In a relational database management system (RDBMS), the most widely used type of DBMS,
this API is SQL, a standard programming language for defining, protecting and accessing data.
What are the components of a DBMS?
A DBMS is a sophisticated piece of system software that consists of multiple integrated
components that deliver a consistent, managed environment for creating, accessing and
modifying data in databases. These components include the following:
, The structure of a DBMS
● Storage engine. This basic element of a DBMS is used to store data. The DBMS must
interface with a file system at the operating system (OS) level to store data. It can use
additional components to store data or interface with the actual data at the file system
level.
● Metadata catalog. Sometimes called a system catalog or database dictionary, a metadata
catalog functions as a repository of all the database objects that have been created. When
databases and other objects are created, the DBMS automatically registers information
about it in the metadata catalog. The DBMS uses this catalog to verify user requests for
data, and users can query the catalog for information about the database structures that
exist in the DBMS. The metadata catalog can include information about database objects,
schemas, programs, security, performance, communication and other environmental
details about the databases it manages.
● Database access language. The DBMS also must provide an API to access the data,
typically in the form of a database access language. This is used to access and modify
data but may also be used to create database objects and to secure and authorize access to
the data. SQL is an example of a database access language.
● Optimization engine. A DBMS may also provide an optimization engine, which is used
to parse database access language requests and turn them into actionable commands for
accessing and modifying data.
● Lock manager. This crucial component of the DBMS manages concurrent access to the
same data. Locks are required to ensure multiple users aren't trying to modify the same
data simultaneously.
● Log manager. The DBMS records all changes made to data managed by the DBMS. The
record of changes is known as the log, and the log manager component of the DBMS is
used to ensure that log records are made efficiently and accurately. The DBMS uses the
log manager during shutdown and startup to ensure data integrity, and it interfaces with
database utilities to create backups and run recoveries.