18.12.13

Database Management Systems



Introduction
A database management system (DBMS), or simply a database system (DBS), consists of
    • A collection of interrelated and persistent data (usually referred to as the database (DB)).
    • A set of application programs used to access, update and manage that data (which form the data management system (MS)).
The goal of a DBMS is to provide an environment that is both convenient and efficient to use in

    • Retrieving information from the database.
    • Storing information into the database.
Databases are usually designed to manage large bodies of information. This involves
    • Definition of structures for information storage (data modeling).
    • Provision of mechanisms for the manipulation of information (file and systems structure, query processing).
    • Providing for the safety of information in the database (crash recovery and security).
    • Concurrency control if the system is shared by users.
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.

Chapter II CORPORATE STRATEGY

Our principles: We recognize that we must integrate our business values and operations to meet the expectations of our stakeholders. They ...