To see why database management systems are necessary, let's look at a
typical "file-processing system'' supported by a conventional operating
system.
The application is a savings bank:
Savings account and customer records are kept in permanent system
files.
Application programs are written to manipulate files to perform the
following tasks:
Debit or credit an account.
Add a new account.
Find an account balance.
Generate monthly statements.
Development of the system proceeds as follows:
New application programs must be written as the need arises.
New permanent files are created as required.
but over a long period of time files may be in different
formats, and
Application programs may be in different languages.
So we can see there are problems with the straight file-processing
approach:
Data redundancy and inconsistency
Same information may be duplicated in several places.
All copies may not be updated properly.
Difficulty in accessing data
May have to write a new application program to satisfy an
unusual request.
E.g. find all customers with the same postal code.
Could generate this data manually, but a long job...
Data isolation
Data in different files.
Data in different formats.
Difficult to write new application programs.
Multiple users
Want concurrency for faster response time.
Need protection for concurrent updates.
E.g. two customers withdrawing funds from the same account at
the same time - account has $500 in it, and they withdraw $100 and
$50. The result could be $350, $400 or $450 if no protection.
Security problems
Every user of the system should be able to access only the data
they are permitted to see.
E.g. payroll people only handle employee records, and cannot see
customer accounts; tellers only access account data and cannot see
payroll data.
Difficult to enforce this with application programs.
Integrity problems
Data may be required to satisfy constraints.
E.g. no account balance below $25.00.
Again, difficult to enforce or to change constraints with the
file-processing approach.
These problems and others led to the development of database management
systems.