Data Abstraction is a process of hiding irrelevant details from
the end user. The data abstraction provides us with a different
view and help in achieving data independence and to enhance the
security of data. Database systems consist of complicated data
structures and relations. To make it easier for users to access the
data, these complications are kept hidden, and only the relevant
part of the database is made accessible to the users through data
abstraction. There are three levels of data abstraction.
- View Level/External level : This is
the highest level of abstraction. At this level,
user just interact with system with the help of GUI and enter the
details at the screen, they are not aware of how the data is stored
and what data is stored .This level tells the application about how
the data should be shown to the user. For Example: if we have a
login-id and password in a university system, a student can view
his/her marks, attendance, fee structure, semester details etc. But
the faculty of the university will have a different view. He/she
can have options like salary, edit marks of a student, enter
attendance of the students, etc. So, both the student and the
faculty have a different view. By doing so, the security of the
system also increases.
- Logical Level : This level is also
known as the conceptual level. At this level, we can see what data
is stored in the database without knowing the implementation
details such as the data structures and tree implementations. This
level also tells us about the relations between the different
fields and database tables. This level also stores the relationship
among the data entities in relatively simple structures. The
database administrators have full access to this level of data. For
Example: in an university database system, the relationship between
an entity ‘Professor’ and another entity ‘Student’, can be
one-to-many. The fields describing the entity student would be the
same as that describing a general entity ‘Person’ in along with
fields such as subjects, marks, rank, etc.Any changes to this level
should not affect the external or the physical level.
- Physical Level/Internal Level : This is the
lowest level of data abstraction. It tells us how the data is
actually stored in a DB. The Database Administrators(DBA) decide
that which data should be kept at which particular disk drive, how
the data has to be fragmented, where it has to be stored etc. They
decide if the data has to be centralized or distributed.
Implementation details such as indexing methods like B+ trees or
hashing and access methods such as sequential or random access
which we are used those are described in this level.