Database Objectives and Architecture: A Comprehensive Look

Objectives of a Database

  • Data Independence: Ensuring independence between data and the applications that use them. This includes:
    • Physical Independence: The ability to modify the physical schema without affecting the higher levels.
    • Logical Independence: Changes to the conceptual schema do not necessitate modifications to application programs.
  • Minimal Data Redundancy: Minimizing unnecessarily repeated data to avoid inconsistencies. Providing mechanisms to monitor operations on the database.
  • Versatility in Search: Enabling users to search for information based on various criteria.
  • Data Security: Protecting data against unauthorized or malicious users.
  • Data Integrity: Ensuring the database responds correctly to potential hardware failures, software defects, incomplete updates, incorrect data entry, etc.
  • Backup and Recovery: Providing mechanisms for backing up and restoring information.
  • Optimal Response Time: Achieving a response time short enough to prevent user frustration. Response time is the duration from when a user makes a request until the system begins to respond.
  • Solving Concurrency Issues: Addressing the problems posed by concurrent access.

What is a Database?

A database is a set of data stored in an organized and structured manner on an information carrier, managed by a computer.

Database Architecture

One of the goals of a database system is to provide an abstract view of the information, hiding details about data organization and storage.

  • Internal Level

    This is the closest representation to the physical storage of data. The internal schema describes how data is stored in the computer, specifying files, organization, record access, record type and length, fields, key fields, indexes, etc.

  • Conceptual Level

    The conceptual schema, also known as the database schema, defines all data in the system. It is derived from user requirements, independent of storage or retrieval methods. It includes data elements (fields), composite data (records), relationships between records, operational rules, etc.

  • External Level

    Represents the individual view of a user or user group. The external schema defines these views. Each individual view is called a subschema or view. Subschemas define the portion of the conceptual schema that is of interest, without concern for correspondence with the entire conceptual schema. A subschema can be shared, and users can access multiple subschemas. Subschemas allow mixing fields, omitting fields, reordering fields, adding calculated fields, etc.