Chapter 2
Database System Concepts
And Architecture
Three Schema Architecture
Internal Schema
• Describes physical storage and access
Conceptual Schema
• Describes the structure of the database
for all users
External Schema
• Describes pieces of the database
available to subsets of users
Three Schema Architecture
Conceptual Schema
Internal Schema
Stored DB
Logical data independence
 User can change conceptual schema
without have to change external
 Rule: You may change the conceptual
organization of the db. If you change
the mappings that produce the
external view, programs that access
the external view will work as before.
Physical Data Independence
• You can add or remove indices without
affecting the conceptual vies
Database Languages
In keeping with the 3-schema
architecture we should have four
distinct languages:
1. SDL: Storage Definition Language
2. DDL: Data Definition Language
3. VDL: View Definition Language
4. DML: Data Manipulation Language
But, in practice
DDL subsumes SDL, DDL, VDL
In fact, in SQL
DML and DDL are collapsed into a
single language
Important Distinction
Set-A-Time vs. Record-At-A-Time
In procedural languages, a single file retrival
(read), produces a single record (struct or
SQL is a record-at-a-time language. A
retrieval will often produce more than a
single record—like a Google search. This
is a distinction that must be confronted
when SQL is embedded within C++.
Many Possible Interfaces
We’ll experiment with:
 SQL in character mode as DBA interface
 Canned parametric interfaces—SQL
embedded in a procedural language
 A web-based interface
Important to point out that Oracle includes
utilities that lets applications programmers
build forms. We won’t use this.
DBMS Component Modules (p. 35)
Database Organization
Several ways to organize a database.
We’ll use the simplest for our SQL
queries and parametric programs
Term 1
Term 2
DBMS (and DB) on
a central server
Term 3
Could also separate query processing from
database.This and the central design are referred
to as 2-Tier architectures
Client 1
Client 2
ODBC layer
minus query
processing modules
(for example)
Client 3
3-Tier Architecture
Gui Web
Web Server
JDBC (in our case)
A Java standard
DB and

Chapter 2