Data
Abstraction
Data abstraction is hiding the
complex data structure in order to simplify the user’s interface of
the system. It is done because many of the users interacting with the database
system are not that much computer trained to understand the complex data
structures of the database system.
To achieve data abstraction, we will
discuss a Three-Schema architecture which abstracts the database at
three levels discussed below:
Three-Schema
Architecture:
The main objective of this
architecture is to have an effective separation between the user interface
and the physical database. So, the user never has to be concerned
regarding the internal storage of the database and it has a simplified
interaction with the database system.
The three-schema architecture
defines the view of data at three levels:
- Physical level (internal level/view)
- Logical level (conceptual level/view)
- View level (external level/view)
1. Physical Level/ Internal Level
The physical or the internal level schema describes how the data is
stored in the hardware. It also describes how the data can be
accessed. The physical level shows the data abstraction at the lowest level and
it has complex data structures. Only the database
administrator operates at this level.
2. Logical Level/ Conceptual Level
It is a level above the physical level. Here, the data is stored in the form
of the entity set, entities, their data
types, the relationship among the entity sets, user
operations performed to retrieve or modify the data and certain constraints
on the data. Well adding constraints to the view of data adds the
security. As users are restricted to access some particular parts of the
database.
It is the developer and database administrator who operates at the logical
or the conceptual level.
3. View Level/ User level/ External level
It is the highest level of data abstraction and exhibits only a part of the
whole database. It exhibits the data in which the user is interested. The view
level can describe many views of the same data. Here, the user retrieves the
information using different application from the database.