img
Question:
Published on: 28 March, 2024

Describe the Three-Schema Architecture of DBMS. Distinguish Physical Data Independence and Logical Independence.

Answer:

The Three-Schema Architecture:

The goal of the three-schema architecture is to separate the user applications and the physical database. In this architecture, schemas can be defined at 3 levels:

  1. Internal level or Internal schema: Describes the physical storage structure of the database. The internal schema uses a physical data model and describes the complete details of data storage and access paths for the database.
  2. Conceptual level or Conceptual schema: Describes the structure of the whole database for a community of users. It hides the details of physical storage structures and concentrates on describing entities, data types, relationships, user operations, and constraints. Implementation data model can be used at this level.
  3. External level or External schema: It includes a number of external schemas or user views. Each external schema describes the part of the database that a particular user is interested in and hides the rest of the database from user. Implementation data model can be used at this level.

DATA INDEPENDENCE

The disjointing of data descriptions from the application programs (or user-interfaces) that uses the data is called data independence. Data independence is one of the main advantages of DBMS. The three-schema architecture provides the concept of data independence, which means that upper-levels are unaffected by changes to lower-levels. The three schemas architecture makes it easier to achieve true data independence. There are two kinds of data independence.

  • Physical data independence
    • The ability to modify the physical scheme without causing application programs to be rewritten.
    • Modifications at this level are usually to improve performance.

 

  • Logical data independence
    • The ability to modify the conceptual scheme without causing application programs to be rewritten.
    • Usually done when logical structure of database is altered.

Logical data independence is harder to achieve as the application programs are usually heavily dependent on the logical structure of the data. An analogy is made to abstract data types in programming languages.

Random questions