Purpose of Database Systems

  1. 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.
  2. 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.
  3. 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.