1. File Based System -
    1. Collection of application Programs
    2. Each Program Defines and manages its own data
    3. Limitations
      1. Data Dependence - File structure defined in program
      2. Incompatible File Formats - Each program in a different language - Cannot easily access other files
      3. Fixed Queries/Proliferation of Application Program - New requirements may require new program
      4. Seperation and Isolation of Data - Each prg maintains its own data. Users may be unaware of data held by another prg
      5. Duplication of Data - Same data held by different prgms. Wasted space and potentially different values and/or different formats for same data
  2. Database Approach
    1. Arose due to limitations of File based approach
      1. Data embedded in application programs - NOT stored seperately and independently
      2. No control over access and manipulation of data beyond restrictions of application program
    2. Database - A shared collection of logically related data ( and a description of this data), designed to meet information needs of organisation
    3. DBMS - Software system that allows users to :
      1. Define
      2. Create
      3. Maintain Database
      4. Provides controlled access to DB
    4. Database Application Program
      1. Software program that interacts with DB by issuing appropriate requests ( usually a SQL statement) to DBMS
    5. DBMS
      1. DDL - Data Definition Library - Permits specification of:
        1. data types
        2. Structures
        3. Data constraints
      2. DML - Data Manipulation Language
        1. General enquiry facility - Query Language - of data
    6. Controlled Access
      1. Security System
      2. Integrity System
      3. Concurrency Control system
      4. Recovery Control System
      5. User-accessible catalog
    7. View Mechanism - Only data they need or want is made available
    8. Views
      1. Each user has own view of Data
      2. View is subset of data
      3. Benefits
        1. Reduced Complexity
        2. Increased security
        3. DB appearance is Customisable
        4. Consistent, unchanging picture of structure of DB.
    9. Advantages
      1. Control of Data Redundancy
      2. Data consistency
      3. More detail from same level of Data
      4. Improved Data Integrity
      5. Improved security
      6. Enforced standards
      7. Economy of scale
      8. Balanced conflicting requirements
      9. Improved data accessibility and responsiveness
      10. Increased productivity
      11. Improved maintenance through data independence
      12. Increased concurrency
      13. Improved back up and recovery services
      14. Sharing of data
    10. Disadvantages
      1. Complexity
      2. Size
      3. Performance
      4. Higher impact of failure
      5. Related to changing to DB
        1. Cost of DBMS
        2. Additional hardware cost- initially
        3. Cost of conversion