1.3 Data Abstraction
1.3 Data Abstraction
Data Abstraction/
Three Schema Architecture/
Three Level architecture
by
GOWRU BHARATH KUMAR
M.Tech, (Ph.D)
Assistant Professor
Scenario
Have you ever wondered how the same website has different views for
different users?
For example, a college website has a different view for student, faculty and the
dean. A student will see the details of his/her attendance, homework, etc. While
a faculty will see his/her class time-table and all information that is related to a
faculty. We see only that much amount of data which is necessary and other
data is hidden from us. So, what is this phenomenon called? Yes, you got it
right. This phenomenon is called data abstraction. In this, we will learn about
data abstraction and we will also see the three levels of abstraction in DBMS.
So, let's get started.
Data Abstraction
• The process of hiding irrelevant details from user is called Data abstraction.
So, what is the meaning of irrelevant details? Let's understand this with one example.
Example: If we want to access any mail from our Gmail then we don't know where
that data is physically stored i.e is the data present in India or USA or what data
model has been used to store that data? We are not concerned about these things. We
are only concerned with our email. So, information like these i.e. location of data and
data models are irrelevant to us and in data abstraction, we do this only. Apart from
the location of data and data models, there are other factors that we don't care of. We
hide the unnecessary data from the user and this process of hiding unwanted data is
called Data Abstraction.
Data Abstraction Cont…
• There are mainly three levels of data abstraction and we divide it into three
levels in order to achieve Data Independence.
• Data Independence means users and data should not directly interact with
each other. The user should be at a different level and the data should be
present at some other level. By doing so, Data Independence can be
achieved. So, let's see in details what are these three levels of data
abstraction:
1. View/ External Level
2. Conceptual/ Logical Level
3. Physical/ Internal Level
View Level
• This level tells the application about how the data should be shown to the
user.
• view level describes the actual view of data that is relevant to the particular
user.
• This level also provides different views of the same database for a specific
user or a group of users.
• Any given database has exactly one conceptual schema and one physical
schema because it has just one set of stored relations, but it may have
several external schemas.
• Each external schema consists of a collection of one or more views and
relations from the conceptual schema.
• A view is conceptually a relation, but the records in a view are not stored in
the DBMS. Rather, they are computed using a definition for the view, in
terms of relations stored in the DBMS.
View Level Cont…
• This level tells how the data is actually stored and structured. We have
different data models by which we can store the data.
• The conceptual schema describes the structure of the whole database.
• The conceptual level describes what data are to be stored in the database
and also describes what relationship exists among those data.
• In the conceptual level, internal details such as an implementation of the
data structure are hidden.
• Programmers and database administrators work at this level.
Conceptual Level Cont…
Example: Let us take an example where we use the relational model for
storing the data. We have to store the data of a student, the columns in the
student table will be student_name, age, mail_id, roll_no etc. We have to
define all these at this level while we are creating the database. Though the
data is stored in the database but the structure of the tables like the student
table, teacher table, books table, etc are defined here in the conceptual level.
Also, how the tables are related to each other are defined here. Overall, we can
say that we are creating a blueprint of the data at the conceptual level.
Physical Level
• The Physical level tells us that where the data is actually stored i.e. it tells
the actual location of the data that is being stored by the user.
• 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. Though we see the data in the form of tables at view level
the data here is actually stored in the form of files only. It totally depends
on the DBA, how he/she manages the database at the physical level.
• The Data Abstraction provides us with a different view and help in
achieving Data Independence.
For watching/ for explanation
• Click on
https://www.youtube.com/watch?v=_6r9s9J72nM&t=66s
THANK YOU