DBMS A database management system is
the software system that allows users to define, create and maintain a database
and provides controlled access to the data.
A Database Management System (DBMS) is
basically a collection of programs that enables users to store, modify, and
extract information from a database as per the requirements. DBMS is an
intermediate layer between programs and the data. Programs access the DBMS,
which then accesses the data. There are different types of DBMS ranging from
small systems that run on personal computers to huge systems that run on
mainframes. The following are main examples of database applications:
• Computerized library systems
• Automated teller machines
• Flight reservation systems
• Computerized parts inventory systems
A database management system is a piece
of software that provides services for accessing a database, while maintaining
all the required features of the data. Commercially available Database
management systems in the market are dbase, FoxPro, IMS and Oracle, MySQL, SQL
Servers and DB2 etc.
These systems allow users to create
update, and extract information from their databases.
Compared to a manual filing system, the
biggest advantages to a computerized database system are speed, accuracy, and'
accessibility.
Advantages of DBMS
The
database management system has promising potential advantages, which are
explained below:
1.
Controlling Redundancy:
In file system, each application has its own private files, which cannot be
shared between multiple applications. 1: he can often lead to considerable
redundancy in the stored data, which results in wastage of storage space. By
having centralized database most of this can be avoided. It is not possible
that all redundancy should be eliminated. Sometimes there are sound business
and technical reasons for· maintaining multiple copies of the same data. In a
database system, however this redundancy can be controlled.
For
example: In case of
college database, there may be the number of applications like General Office,
Library, Account Office, Hostel etc. Each of these applications may maintain
the following information into own private file applications:
It is
clear from the above file systems, that there is some common data of the
student which has to be mentioned in each application, like Roll no, Name,
Class, Phone_ No~ Address etc. This will cause the problem of redundancy which
results in wastage of storage space and difficult to maintain, but in case of
centralized database, data can be shared by number of applications and the
whole college can maintain its computerized data with the following database:
It is
clear in the above database that Roll no, Name, Class, Father_ Name, Address,
Phone_
No, Date_ of_ birth which are stored repeatedly in file system in each
application, need not be stored repeatedly in case of database, because every
other application can access this information by joining of relations on the
basis of common column i.e. Roll no. Suppose any user of Library system need
the Name, Address of any particular student and by joining of Library and
General Office relations on the basis of column Roll no he/she can easily
retrieve this information.
Thus,
we can say that centralized system of DBMS reduces the redundancy of data to
great extent but cannot eliminate the redundancy because Roll No is still
repeated in all the relations.
2.
Integrity can be enforced:
Integrity of data means that data in database is always accurate, such that
incorrect information cannot be stored in database. In order to maintain the
integrity of data, some integrity constraints are enforced on the database. A
DBMS should provide capabilities for defining and enforcing the constraints.
For
Example: Let us consider the case of college database and suppose that college
having only B Tech, M Tech, MSc, BCA, BBA and B COM classes. But if a user
enters the class MCA, then this incorrect information must not be stored in
database and must be prompted that this is an invalid data entry. In order to
enforce this, the integrity constraint must be applied to the class attribute
of the student entity. But, in case of file system tins constraint must be
enforced on all the application separately (because all applications have a
class field).
In
case of DBMS, this integrity constraint is applied only once on the class field
of the General Office
(because class field appears only once in the whole database), and all other
applications will get the class information about the student from the General
Office table so the integrity constraint is applied to the whole database. So,
we can conclude that integrity constraint can be easily enforced in centralized
DBMS system as compared to file system.
3.
Inconsistency can be avoided:
When the same data is duplicated and changes are made at one site, which is not
propagated to the other site, it gives rise to inconsistency and the two
entries regarding the same data will not agree. At such times the data is said
to be inconsistent. So, if the redundancy is removed chances of having
inconsistent data is also removed.
Let
us again, consider the college system and suppose that in case of General_ Office
file It is indicated that
Roll_ Number 5 lives in Amritsar but in library file it is indicated that
Roll_ Number 5 lives in Jalandhar.
Then, this is a state at which file two entries of the same object do not agree
with each other (that is one is updated and other is not). At such time the
database is said to be inconsistent.
An
inconsistent database is capable of supplying incorrect or conflicting
information. So there should be no inconsistency in database. It can be clearly
shown that inconsistency can be avoided in centralized system very well as
compared to file system.
Let
us consider again, the example of college system and suppose that Roll No 5 is shifted
from Amritsar to Jalandhar, and then address information of Roll Number 5 must
be updated, whenever Roll number and address occurs in the system. In case of
file system, the information must be updated separately in each application,
but if we make updating only at three places and forget to make updating at
fourth application, then the whole system show the inconsistent results about
Roll Number 5.
In
case of DBMS, Roll number and address occurs together only single time in
General_ Office table. So, it needs single updating and then another
application retrieve the address information from General_ Office which is
updated so, all application will get the current and latest information by
providing single update operation and this single update operation is
propagated to the whole database or all other application automatically, this
property is called as Propagation of Update.
We
can say the redundancy of data greatly affect the consistency of data. If
redundancy is less, it is easy to implement consistency of data. Thus, DBMS
system can avoid inconsistency to great extent.
4.
Data can be shared: As
explained earlier, the data about Name, Class, Father __name etc. of General_ Office
is shared by multiple applications in centralized DBMS as compared to file
system so now applications can be developed to operate against the same stored
data. The applications may be developed without having to create any new stored
files.
5. Standards can be enforced: Since DBMS is a central system, so
standard can be enforced easily may be at Company level, Department level,
National level or International level. The standardized data is very helpful
during migration or interchanging of data. The file system is an independent
system so standard cannot be easily enforced on multiple independent
applications.
6.
Restricting unauthorized access:
When multiple users share a database, it is likely that some users will not be
authorized to access all information in the database. For example, account
office data is often considered confidential, and hence only authorized persons
are allowed to access such data. In addition, some users may be permitted only to
retrieve data, whereas others are allowed both to retrieve and to update.
Hence, the type of access operation retrieval or update must also be
controlled. Typically, users or user groups are given account numbers protected
by passwords, which they can use to gain access to the database. A DBMS should
provide a security and authorization subsystem, which the DBA uses to create
accounts and to specify account restrictions. The DBMS should then enforce
these restrictions automatically.
7.
Solving Enterprise Requirement than Individual Requirement: Since many types of users with varying
level of technical knowledge use a database, a DBMS should provide a variety of
user interface. The overall requirements of the enterprise are more important
than the individual user requirements. So, the DBA can structure the database
system to provide an overall service that is "best for the
enterprise".
For
example: A representation can be chosen for the data in storage that gives fast
access for the most important application at the cost of poor performance in
some other application. But, the file system favors the individual requirements
than the enterprise requirements
8. Providing Backup and Recovery: A
DBMS must provide facilities for recovering from hardware or software failures.
The backup and recovery subsystem of the DBMS is responsible for recovery. For
example, if the computer system fails in the middle of a complex update
program, the recovery subsystem is responsible for making sure that the
.database is restored to the state it was in before the program started
executing.
9. Cost of developing and maintaining
system is lower: It is much easier to respond to unanticipated requests
when data is centralized in a database than when it is stored in a conventional
file system. Although the initial cost of setting up of a database can be
large, but the cost of developing and maintaining application programs to be
far lower than for similar service using conventional systems. The productivity
of programmers can be higher in using non-procedural languages that have been
developed with DBMS than using procedural languages.
10.
Data Model can be developed:
The centralized system is able to represent the complex data and interfile
relationships, which results better data modeling properties. The data madding
properties of relational model is based on Entity and their Relationship, which
is discussed in detail in chapter 4 of the book.
11. Concurrency
Control: DBMS systems provide mechanisms to provide concurrent access of
data to multiple users.
Disadvantages of DBMS
The
disadvantages of the database approach are summarized as follows:
1. Complexity: The provision of the
functionality that is expected of a good DBMS makes the DBMS an extremely
complex piece of software. Database designers, developers, database
administrators and end-users must understand this functionality to take full
advantage of it. Failure to understand the system can lead to bad design
decisions, which can have serious consequences for an organization.
2. Size: The complexity and breadth
of functionality makes the DBMS an extremely large piece of software, occupying
many megabytes of disk space and requiring substantial amounts of memory to run efficiently.
3. Performance: Typically, a File
Based system is written for a specific application, such as invoicing. As
result, performance is generally very good. However, the DBMS is written to be
more general, to cater for many applications rather than just one. The effect
is that some applications may not run as fast as they used to.
4. Higher impact of a failure: The
centralization of resources increases the vulnerability of the system. Since
all users and applications rely on the ~vailabi1ity of the DBMS, the failure of
any component can bring operations to a halt.
5. Cost of DBMS: The cost of DBMS
varies significantly, depending on the environment and functionality provided.
There is also the recurrent annual maintenance cost.
6.
Additional Hardware costs:
The disk storage requirements for the DBMS and the database may necessitate the
purchase of additional storage space. Furthermore, to achieve the required
performance it may be necessary to purchase a larger machine, perhaps even a
machine dedicated to running the DBMS. The procurement of additional hardware
results in further expenditure.
7.
Cost of Conversion: In
some situations, the cost oftlle DBMS and extra hardware may be insignificant
compared with the cost of converting existing applications to run on the new
DBMS and hardware. This cost also includes the cost of training staff to use
these new systems and possibly the employment of specialist staff to help with
conversion and running of the system. This cost is one of the main reasons why
some organizations feel tied to their current systems and cannot switch to
modern database technology.