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.