Data
Abstraction:
Database systems are made-up of complex data
structures. Database is full of data and records. What we see in rows and
columns is quite different when it reaches the memory. What we see is the
actual data. But when they are stored in the memory like disks or tapes, they
are stored in the form of bits. But any users will not understand these bits. User
needs to see the actual data to understand. But all the details about the data
stored in the memory are not necessary for the users. User needs only little
information that he is interested or wants to work with. To ease the user
interaction with database, the developers hide internal irrelevant details from
users. This process of hiding irrelevant details from user is called data
abstraction.
Data abstraction is a process of representing the
essential features without including implementation details. Many
database-systems users are not computer trained, developers hide the complexity
from users through several levels of abstraction, to simplify users’
interactions with the system.
There are mainly three levels of data abstraction:
Physical Level / Internal Level:
Logical Level / Conceptual Level:
View Level / External Level:
Physical
Level / Internal Level:
This
is the lowest level in data abstraction. This level describes how the data is
actually stored in the physical memory like magnetic tapes, hard disks etc. In
this level the file organization methods like hashing, sequential, B+ tree and access
methods like sequential or random access are comes into picture. Usability,
size of memory, and the number of times the records are factors which we need
to know while designing the database.
Logical
Level / Conceptual Level:
This
is the middle level of 3-level data abstraction. It describes the actual data
stored in the database in the form of tables and relates them by means of
mapping. This level will not have any information on what a user views at
external level. This level will have all the data in the database.
View
Level / External Level:
The highest level of abstraction describes only
part of the entire database. The variety of information stored in a large
database. Many users of the database system do not need all this information;
instead, they need to access only a part of the database. The view level of
abstraction exists to simplify their interaction with the system. The users
will have different views here, based on their levels of access rights. For
example, student will not have access to see Lecturers salary details, one employee
will not have access to see other employees details, unless he is a manager.
Example:
Let’s
say we are storing customer information in a customer table. At physical level
these records can be described as blocks of storage (bytes, gigabytes, terabytes
etc.) in memory. These details are often hidden from the programmers.
At
the logical level these records can be described as fields and attributes along
with their data types, their relationship among each other can be logically
implemented. The programmers generally work at this level because they are
aware of such things about database systems.
At view 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; such details are hidden from them.
-profshardulp.patil@gmail.com
No comments:
Post a Comment