Three level architecture is also called
ANSI/SPARC architecture or three schema
architecture
This framework is used for describing the
structure of specific database systems (small
systems may not support all aspects of the
architecture)
In this architecture the database schemas
can be defined at three levels explained in
next slide
Three Levels of Architecture
D
B
M
S
O
S
External View
Highest or Top level of data abstraction ( No knowledge of
DBMS S/W and H/W or physical storage).
This level is concerned with the user.
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.
There can be n number of external views for database where n
is the number of users.
For example, a accounts department may only be interested in
the student fee details. It would not be expected to have any
interest in the personal information about students.
All database users work on external level of Dbms .
4
Conceptual View
This level is in between the user level and
physical storage view.
There is only one conceptual view for single
database.
Ithides the details of physical storage
structures and concentrates on describing
entities, data types, relationships, user
operations, and constraints.
5
Internal View
It
is the lowest level of data abstraction. (it has the knowledge
about s/w and h/w)
At this level, it keeps the information about the actual
representation of the entire database i.e. the actual storage of
the data on the disk in the form of records or blocks.
It is close to the physical storage method.
The internal view is the view that tells us what data is stored in
the database and how. At least the following aspects are
considered at this level: Storage allocation, Access paths etc.
The internal view does not deal with the physical devices
directly. Instead it views a physical device as a collection of
physical pages and allocates space in terms of logical pages.
6
Three Levels of Architecture (cont…)
Internal/physical level: Shows how data are stored inside
the system. It is the closest level to the physical storage.
This level talks about database implementation and
describes such things as file organization and access
paths of indexes, data compression and encryption
techniques, and record placement
Conceptual/logical level: Deals with the modeling of the
whole database. The conceptual schema of database is
defined in this level
External level: This level models a user oriented
description of part of the database. The views for
individual users are defined by means of external
schemas in this level
Page 7
Working of three level architecture
Level of DBMS Architecture :
Users
View 1 View 2 View 3
External mapping
Conceptual Schema
conceptual
mapping
Physical Schema
DB
Example: University Database
External Schema (View 1 ): Course_info(cid:string,cname:string)
External Schema (View 2): student_info(cid:string, name:string)
Students(sid: string
name: string,
login: string,
Conceptual schema: age: integer)
Courses(cid: string,
cname:string,
credits:integer)
Enrolled(Eid:string,
cid:string,
grade:string)
Physical schema: Relations stored as unordered files.
Index on first column of Students.
Example: employee database
External view 1 (C++) External view 2 (COBOL)
DCL 1 EMPP, 01 EMPC.
2 EMP# CHAR(6) 02 EMPNO PIC X(6).
2 SAL FIXEDBIN(31) 02 DEPTNO PIC X(4).
Conceptual
EMPLOYEE
EMPLOYEE_NUMBER CHARACTER(6)
DEPARTMENT_NUMBER CHARACTER(6)
SALARY DECIMAL(5)
Internal STORED_EMP BYTES=20
PREFIX BYTE=6 , OFFSET=0
EMP# BYTE=6, OFFSET=6, INDEX=EMPX
DEPT# BYTES=4, OFFSET=12
PAY BYTES= 4, ALIGN= FULLWORD,OFFSET=16
Three Levels of Architecture
Syntax Example:
External view 1 External view 2
E_no F_name L_name Age Salary Empl_No L_name B_no
Conceptual level
Empl_No F_name L_name DOB Salary Branch_No
struct EMPLOYEE {
int Empl_No;
Internal level int Branch_No;
char F_name [15];
char L_name [15];
struct date Date_of_Birth;
float Salary;
struct EMPLOYEE *next; //pointer to next employee record
}; index Empl_No; index Branch_No; //define indexes for
employees
Three Level Architecture Objectives
Each user should be able to access the
same data but have a different customize
view of the data.
User should not have to deal directly with
physical database storage detail.
The DBA should be able to change the
database storage structure without affecting
the users views.
Three Level Architecture Objectives
The internal structure of the database
should be unaffected by changes to the
physical aspects of storage.
The DBA should be able to change the
conceptual structure of the database
without affecting all users.
Mapping
Mapping is the key for providing data
independence
Data independence is the capacity to
change the schema at one level without
having to change the schema at the next
higher level
Two types of data independence are
Logical data independence
Physical data independence
Page 15
Mapping - Data Independence
Logical data independence (provided by external/
conceptual mapping)
Ability to modify conceptual schema without changing
External views
Application programs
Changes to conceptual schema may be necessary
Whenever the logical structure of the database changes
- Due to changed objectives
Examples
○ Adding a data item to schema
○ Adding price of a part to PART table
○ Adding PROJECT table to the SUPPLIER-PARTS database
Page 16
Mapping - Data Independence
Physical data independence (provided by
conceptual/internal mapping)
Ability to modify internal or physical schema without changing
Conceptual or view level schema
Application programs
Changes to physical schema may be necessary to
Improve performance of retrieval or update
Achieving logical data independence is more difficult
than physical data independence
○ Because application programs heavily rely on the logical structure of
the data they access
Page 17