Dbms Pros and Cons
Dbms Pros and Cons
Dbms Pros and Cons
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
It is basically a collection of programs that enables users to store, modify, and
extract informationfrom 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
.
3. Data : It is the most important component of DBMS environment from the end users
point of view. As shown in observes that data acts as a bridge between the machine
components and the user components. The database contains the operational data and
the meta-data, the 'data about data'.
The database should contain all the data needed by the organization. One of the major
features of databases is that the actual data are separated from the programs that use
the data. A database should always be designed, built and populated for a particular
audience and for a specific purpose.
4. Users : There are a number of users who can access or retrieve data on demand
using the applications and interfaces provided by the DBMS. Each type of user needs
different software capabilities. The users of a database system can be classified in the
following groups, depending on their degrees of expertise or the mode of their
interactions with the DBMS. The users can be:
• Naive Users
• Online Users
• Application Programmers
• Sophisticated Users
• Data Base Administrator (DBA)
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.
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. For example, 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 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 : Such users 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 : Such users are those ,who write specialized database application
that do not fit into the fractional data-processing framework. For example: Computer-
aided design systems, knowledge base and expert system, systems that store data with
complex data types (for example, graphics data and audio data).
Application Programmers : 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.
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.
5. Procedures: Procedures refer to the instructions and rules that govern the design
and use of the database. The users of the system and the staff that manage the database
require documented procedures on how to use or run the system.
These may consist of instructions on how to:
• Log on to the DBMS.
• Use a particular DBMS facility or application program.
• Start and stop the DBMS.
• Make backup copies of the database.
• Handle hardware or software failures.
Change the structure of a table, reorganize the database across multiple disks, improve
performance, or archive data to secondary storage.
Advantages of DBMS
The database management system has promising potential advantages, which are
explained below:
1: Controlling Data Redundancy:
In non-database systems (traditional computer file processing), each application program has its
own files. In this case, the duplicated copies of the same data are created at many places. In
DBMS, all the data of an organization is integrated into a single database. The data is recorded at
only one place in the database and it is not duplicated. For example, the dean's faculty file and
the faculty payroll file contain several items that are identical. When they are converted into
database, the data is integrated into a single database so that multiple copies of the same data are
reduced to-single copy.
In DBMS, the data redundancy can be controlled or reduced but is not removed completely.
Sometimes, it is necessary to create duplicate copies of the same data items in order to relate
tables with each other.
By controlling the data redundancy, you can save storage space. Similarly, it is useful for
retrieving data from database using queries.
Thus, we can say that centralized system of DBMS reduces the redundancy of data to
great extent but cannot eliminate the redundancy because RollNo 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 BTech, MTech, MSc, BCA, BBA and BCOM classes. But if a \.,ser 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. Data Consistency:
By controlling the data redundancy, the data consistency is obtained. If a data item appears only
once, any update to its value has to be performed only once and the updated value (new value of
item) is immediately available to all users.
If the DBMS has reduced redundancy to a minimum level, the database system enforces
consistency. It means that when a data item appears more than once in the database and is
updated, the DBMS automatically updates each occurrence of a data item in the database.
Let us consider again, the example of college system and suppose that RollNo 5
is .shifted from Amritsar to Jalandhar, 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
updation only at three places and forget to make updation 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 updation and then an other 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. 3. Data Sharing:
In DBMS, data can be shared by authorized users of the organization. The DBA manages the
data and gives rights to users to access the data. Many users can be authorized to access the same
set of information simultaneously. The remote users can also share same data. Similarly, the data
of same database can be shared between different application programs.
6. Data Security:
Data security is the protection of the database from unauthorized users. Only the authorized
persons are allowed to access the database. Some of the users may be allowed to access only a
part of database i.e., the data that is related to them or related to their department. Mostly, the
DBA or head of a department can access all the data in the database. Some users may be
permitted only to retrieve data, whereas others are allowed to retrieve as well as to update data.
The database access is controlled by the DBA. He creates the accounts of users and gives rights
to access the database. Typically, users or group of users are given usernames protected by
passwords.
Most of the DBMSs provide the security sub-system, which the DBA uses to create accounts of
users and to specify account restrictions. The user enters his/her account number (or username)
and password to access the data from database. For example, if you have an account of e-mail in
the "hotmail.com" (a popular website), then you have to give your correct username and
password to access your account of e-mail. Similarly, when you insert your ATM card into the
Auto Teller Machine (ATM) in a bank, the machine reads your ID number printed on the card
and then asks you to enter your pin code (or password). In this way, you can access your
account.
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
9. respond to unanticipated requests: 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.
Data Atomicity:
A transaction in commercial databases is referred to as atomic unit of work. For example, when
you purchase something from a point of sale (POS) terminal, a number of tasks are performed
such as;
Company stock is updated.
Amount is added in company's account.
Sales person's commission increases etc.
All these tasks collectively are called an atomic unit of work or transaction. These tasks must be
completed in all; otherwise partially completed tasks are rolled back. Thus through DBMS, it is
ensured that only consistent data exists within the database.
8. Database Access Language:
Most of the DBMSs provide SQL as standard database access language. It is used to access data
from multiple tables of a database.
9. Development of Application:
The cost and time for developing new applications is also reduced. The DBMS provides tools
that can be used to develop application programs. For example, some wizards are available to
generate Forms and Reports. Stored procedures (stored on server side) also reduce the size of
application programs.
10. Creating Forms:
Form is very important object of DBMS. You can create Forms very easily and quickly in
DBMS, Once a Form is created, it can be used many times and it can be modified very easily.
The created Forms are also saved along with database and behave like a software component.
A Form provides very easy way (user-friendly interface) to enter data into database, edit data,
and display data from database. The non-technical users can also perform various operations on
databases through Forms without going into the technical details of a database.
11. Report Writers:
Most of the DBMSs provide the report writer tools used to create reports. The users can create
reports very easily and quickly. Once a report is created, it can be used many times and it can be
modified very easily. The created reports are also saved along with database and behave like a
software component.
12. Control Over Concurrency:
In a computer file-based system, if two users are allowed to access data simultaneously, it is
possible that they will interfere with each other. For example, if both users attempt to perform
update operation on the same record, then one may overwrite the values recorded by the other.
Most DBMSs have sub-systems to control the concurrency so that transactions are always
recorded" with accuracy.
13. Backup and Recovery Procedures:
In a computer file-based system, the user creates the backup of data regularly to protect the
valuable data from damaging due to failures to the computer system or application program. It is
a time consuming method, if volume of data is large. Most of the DBMSs provide the 'backup
and recovery' sub-systems that automatically create the backup of data and restore data if
required. For example, if the computer system fails in the middle (or end) of an update operation
of the program, the recovery sub-system is responsible for making sure that the database is
restored to the state it was in before the program started executing.
14. Data Independence:
The separation of data structure of database from the application program that is used to access
data from database is called data independence. In DBMS, database and application programs
are separated from each other. The DBMS sits in between them. You can easily change the
structure of database without modifying the application program. For example you can modify
the size or data type of a data items (fields of a database table).
Disadvantages of DBMS
Increased costs.
Database systems require sophisticated hardware and software and highly skilled personnel. The cost of maintaining the hardware, software, and personnel required to operate
and manage a database system can be substantial. Training, licensing, and regulation compliance costs are often overlooked when database systems are implemented.
Cost of Hardware and Software
A processor with high speed of data processing and memory of large size is required to run the DBMS software. It means that you have to up grade the hardware used for file-based system.
Similarly, DBMS software is also very costly,.
Database Damage
In most of the organization, all data is integrated into a single database. If database is damaged due to electric failure or database is corrupted on the storage media, the your valuable data may
be lost forever.
Maintaining currency.
To maximize the efficiency of the database system, you must keep your system current. Therefore, you must perform frequent updates and apply the latest patches and security
measures to all components. Because database technology advances rapidly, personnel training costs tend to be significant. Vendor dependence. Given the heavy investment
in technology and personnel training, companies might be reluctant to change database vendors. As a consequence, vendors are less likely to offer pricing point advantages to
existing customers, and those customers might be limited in their choice of database system components. .
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.
When not to Use a DBMS
In spite of the advantages of using a DBMS, there are a few situations in which such a
system may involve unnecessary overhead costs, as that would not be incurred in
traditional file processing.
The overhead costs of using a DBMS are due to the following:
+ High initial investment in hardware, software, and training.
+ Generality that a DBMS provides for defining and processing data.
+ Overhead for providing security, concurrency control, recovery, and integrity
functions.
Additional problems may arise, if the database designers and DBA do not properly
design the database or if the database systems applications are not implemented
properly.
Hence, it may be more desirable to use regular files under the following circumstances:
+ The database and applications are simple, well defined and not expected to change.
+ There are tight real-time requirements for some programs that may not be met
because of DBMS overhead.
+ Multiple user access to data is not required.
+ An application may need to manipulate the data in a way not supported by the query
language.
The software responsible for the management data in computers i.e. DBMS (like Oracle,
Foxpro, SQL Server etc.) should meet the following requirements:
It should support Data Definition Language (DDL) and provides user accessible catalog
Known as Data Dictionary.
It should support Data Manipulation Language (DML), so that required data can be
inserted, updated, deleted and retrieved.
The end user should have the facility of flexible query language so that required
information can be accessed easily.
It should support the constraints like Primary key, foreign key during creation of tables
so that only the valid information is stored in the database. As soon as, we try to insert
any incorrect information it should display the error message.
It should have the facilities for controlling access to data and prevent unauthorized
access and update.
Support Transactions
It should support all the properties of transaction known as ACID properties. It means a
sequence of operations to be performed as a whole. In other words all operations are
performed or none.
It should bring database back to consistent state after a failure such as disk failure,
faulty program etc.
It should support maintenance operations like unload, reload, mass insertion, deletion
and validation of data.
A master file stores relatively static data. It changes occasionally and stores all the
details of the object. For example, in case of banking software the customer file which
contain the data about the customer like customer_id, account_no, account_type,
name, address, phone_number etc. is a master file, because it contain the static data
and whole information about the customer.
The other file, which contains the data about the customer transactions, is called as a
Transaction file. The customer transaction file contains the data about the account_no,\
transaction_)d, date, transaction_type (e.g. deposit or withdrawal), amount, balance
etc. It is dynamic file and updated each time for any withdrawal and deposit on a given
account number.