Database Management System
Database is
a collection of related data and data is a collection of facts and figures that
can be processed to produce information.
Mostly data represents recordable facts. Data aids in
producing information, which is based on facts. For example, if we have data
about marks obtained by all students, we can then conclude about toppers and
average marks.
A database management system stores data
in such a way that it becomes easier to retrieve, manipulate, and produce
information.
Characteristics
Traditionally, data was organized in file formats. DBMS
was a new concept then, and all the research was done to make it overcome the
deficiencies in traditional style of data management. A modern DBMS has the
following characteristics −
·
Real-world entity − A
modern DBMS is more realistic and uses real-world entities to design its
architecture. It uses the behavior and attributes too. For example, a school
database may use students as an entity and their age as an attribute.
·
Relation-based tables − DBMS
allows entities and relations among them to form tables. A user can understand
the architecture of a database just by looking at the table names.
·
Isolation of data and
application − A database system is entirely different than its data.
A database is an active entity, whereas data is said to be passive, on which
the database works and organizes. DBMS also stores metadata, which is data
about data, to ease its own process.
·
Less redundancy − DBMS
follows the rules of normalization, which splits a relation when any of its
attributes is having redundancy in values. Normalization is a mathematically
rich and scientific process that reduces data redundancy.
·
Consistency −
Consistency is a state where every relation in a database remains consistent.
There exist methods and techniques, which can detect attempt of leaving
database in inconsistent state. A DBMS can provide greater consistency as
compared to earlier forms of data storing applications like file-processing
systems.
·
Query Language − DBMS
is equipped with query language, which makes it more efficient to retrieve and
manipulate data. A user can apply as many and as different filtering options as
required to retrieve a set of data. Traditionally it was not possible where
file-processing system was used.
·
ACID Properties − DBMS
follows the concepts of Atomicity, Consistency, Isolation, and Durability (normally shortened as ACID). These concepts
are applied on transactions, which manipulate data in a database. ACID
properties help the database stay healthy in multi-transactional environments
and in case of failure.
·
Multiuser and Concurrent
Access − DBMS supports multi-user environment and allows them to
access and manipulate data in parallel. Though there are restrictions on
transactions when users attempt to handle the same data item, but users are
always unaware of them.
·
Multiple views − DBMS
offers multiple views for different users. A user who is in the Sales
department will have a different view of database than a person working in the
Production department. This feature enables the users to have a concentrate
view of the database according to their requirements.
·
Security −
Features like multiple views offer security to some extent where users are
unable to access data of other users and departments. DBMS offers methods to
impose constraints while entering data into the database and retrieving the
same at a later stage. DBMS offers many different levels of security features,
which enables multiple users to have different views with different features.
For example, a user in the Sales department cannot see the data that belongs to
the Purchase department. Additionally, it can also be managed how much data of
the Sales department should be displayed to the user. Since a DBMS is not saved
on the disk as traditional file systems, it is very hard for miscreants to
break the code.
Users
A typical DBMS has users with different rights and
permissions who use it for different purposes. Some users retrieve data and
some back it up. The users of a DBMS can be broadly categorized as follows −
·
Administrators −
Administrators maintain the DBMS and are responsible for administrating the
database. They are responsible to look after its usage and by whom it should be
used. They create access profiles for users and apply limitations to maintain
isolation and force security. Administrators also look after DBMS resources
like system license, required tools, and other software and hardware related
maintenance.
·
Designers −
Designers are the group of people who actually work on the designing part of
the database. They keep a close watch on what data should be kept and in what
format. They identify and design the whole set of entities, relations,
constraints, and views.
·
End Users − End
users are those who actually reap the benefits of having a DBMS. End users can
range from simple viewers who pay attention to the logs or market rates to
sophisticated users such as business analysts.
DBMS
- Architecture
The design of a DBMS depends on its architecture. It can be
centralized or decentralized or hierarchical. The architecture of a DBMS can be
seen as either single tier or multi-tier. An n-tier architecture divides the
whole system into related but independent n modules,
which can be independently modified, altered, changed, or replaced.
In 1-tier architecture,
the DBMS is the only entity where the user directly sits on the DBMS and uses it.
Any changes done here will directly be done on the DBMS itself. It does not
provide handy tools for end-users. Database designers and programmers normally
prefer to use single-tier architecture.
If the architecture of
DBMS is 2-tier, then it must have an application through which the DBMS can be
accessed. Programmers use 2-tier architecture where they access the DBMS by
means of an application. Here the application tier is entirely independent of
the database in terms of operation, design, and programming.
3-tier Architecture
A 3-tier architecture
separates its tiers from each other based on the complexity of the users and
how they use the data present in the database. It is the most widely used
architecture to design a DBMS.
·
Database
(Data) Tier − At
this tier, the database resides along with its query processing languages. We
also have the relations that define the data and their constraints at this
level.
·
Application
(Middle) Tier − At
this tier reside the application server and the programs that access the
database. For a user, this application tier presents an abstracted view of the
database. End-users are unaware of any existence of the database beyond the
application. At the other end, the database tier is not aware of any other user
beyond the application tier. Hence, the application layer sits in the middle
and acts as a mediator between the end-user and the database.
·
User
(Presentation) Tier −
End-users operate on this tier and they know nothing about any existence of the
database beyond this layer. At this layer, multiple views of the database can
be provided by the application. All views are generated by applications that
reside in the application tier.
Multiple-tier database
architecture is highly modifiable, as almost all its components are independent
and can be changed independently.
Post a Comment