Dbms Pros and Cons

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

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
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
.

Components of the Database System Environment


There are five major components in the database system environment and their
interrelationship are.
 
• Hardware
• Software
• Data
• Users
• Procedures
                      
1.Hardware: The hardware is the actual computer system used for keeping and
accessing the database. Conventional DBMS hardware consists of secondary storage
devices, usually hard disks, on which the database physically resides, together with the
associated Input-Output devices, device controllers and· so forth. Databases run on a'
range of machines, from Microcomputers to large mainframes. Other hardware issues
for a DBMS includes database machines, which is hardware designed specifically to
support a database system.
2. Software: The software is the actual DBMS. Between the physical database itself
(i.e. the data as actually stored) and the users of the system is a layer of software, usually
called the Database Management System or DBMS. All requests from users for access to
the database are handled by the DBMS. One general function provided by the DBMS is
thus the shielding of database users from complex hardware-level detail.
The DBMS allows the users to communicate with the database. In a sense, it is the
mediator between the database and the users. The DBMS controls the access and helps
to maintain the consistency of the data. Utilities are usually included as part of the
DBMS. Some of the most common utilities are report writers and application
development.
                         

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,.

 Cost of Data Conversion


When a computer file-based system is replaced with database system, the data stored into data file must be converted to database file. It is very difficult and costly method to convert data of
data file into database. You have to hire database system designers along with application programmers. Alternatively, you have to take the services of some software house. So a lot of money
has to be paid for developing software.

 Cost of Staff Training


Most database management system are often complex systems so the training for users to use the DBMS is required. Training is required at all levels, including programming, application
development, and database administration. The organization has to be paid a lot of amount for the training of staff to run the DBMS.

 Appointing Technical Staff


The trained technical persons such as database administrator, application programmers, data entry operations etc. are required to handle the DBMS. You have to pay handsome salaries to
these persons. Therefore, the system cost increases.

 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.
 
 

Requirement for a DBMS


 

The software responsible for the management data in computers i.e. DBMS (like Oracle,
Foxpro, SQL Server etc.) should meet the following requirements:
 

 
 

Provide data definition facilities


 

It should support Data Definition Language (DDL) and provides user accessible catalog
Known as Data Dictionary.
 

 
 

Provide facilities for storing, retrieving and updating data


 

It should support Data Manipulation Language (DML), so that required data can be
inserted, updated, deleted and retrieved.
 

 
 

Supports multiple view of data


 

The end user should have the facility of flexible query language so that required
information can be accessed easily.
 

 
 

Provides facilities for specifying Integrity constraints


 

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.
 

Provide security of data


 

It should have the facilities for controlling access to data and prevent unauthorized
access and update.
 

 
 

Provide concurrency control mechanism


 

It should allow simultaneous access and update of data by multiple users


 

 
 

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.
 

 
 

Provide facilities for database recovery


 

It should bring database back to consistent state after a failure such as disk failure,
faulty program etc.
 
 
 

Provide facilities for database maintenance


 

It should support maintenance operations like unload, reload, mass insertion, deletion
and validation of data.
 

Master and transaction file


 

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.

Rule 1: Information rule


This rule states that all information (data), which is stored in the database, must be a value of some table cell.
Everything in a database must be stored in table formats. This information can be user data or meta-data.

Rule 2: Guaranteed Access rule


This rule states that every single data element (value) is guaranteed to be accessible logically with combination of
table-name, primary-key (row value) and attribute-name (column value). No other means, such as pointers, can be
used to access data.

Rule 3: Systematic Treatment of NULL values


This rule states the NULL values in the database must be given a systematic treatment. As a NULL may have several
meanings, i.e. NULL can be interpreted as one the following: data is missing, data is not known, data is not applicable
etc.

Rule 4: Active online catalog


This rule states that the structure description of whole database must be stored in an online catalog, i.e. data
dictionary, which can be accessed by the authorized users. Users can use the same query language to access the
catalog which they use to access the database itself.

Rule 5: Comprehensive data sub-language rule


This rule states that a database must have a support for a language which has linear syntax which is capable of data
definition, data manipulation and transaction management operations. Database can be accessed by means of this
language only, either directly or by means of some application. If the database can be accessed or manipulated in
some way without any help of this language, it is then a violation.

Rule 6: View updating rule


This rule states that all views of database, which can theoretically be updated, must also be updatable by the system.

Rule 7: High-level insert, update and delete rule


This rule states the database must employ support high-level insertion, updation and deletion. This must not be
limited to a single row that is, it must also support union, intersection and minus operations to yield sets of data
records.

Rule 8: Physical data independence


This rule states that the application should not have any concern about how the data is physically stored. Also, any
change in its physical structure must not have any impact on application.

Rule 9: Logical data independence


This rule states that the logical data must be independent of its user’s view (application). Any change in logical data
must not imply any change in the application using it. For example, if two tables are merged or one is split into two
different tables, there should be no impact the change on user application. This is one of the most difficult rule to
apply.

Rule 10: Integrity independence


This rule states that the database must be independent of the application using it. All its integrity constraints can be
independently modified without the need of any change in the application. This rule makes database independent of
the front-end application and its interface.

Rule 11: Distribution independence


This rule states that the end user must not be able to see that the data is distributed over various locations. User
must also see that data is located at one site only. This rule has been proven as a foundation of distributed database
systems.

Rule 12: Non-subversion rule


This rule states that if a system has an interface that provides access to low level records, this interface then must not
be able to subvert the system and bypass security and integrity constraints.
Databases are stored in file formats, which contains records. At physical level, actual data is stored in
electromagnetic format on some device capable of storing it for a longer amount of time. These storage devices can
be broadly categorized in three types:

You might also like