AN ARCHITECTURE FOR DATABASE SYSTEM
Click here for audio-text lecture and feed it to the speech agent
EXTERNAL LEVEL
How data is viewed by an individual
user
CONCEPTUAL LEVEL
How data is viewed by a community
of users
INTERNAL LEVEL
How data is physically stored
DATA MODELS AND SCHEMAS
DATA MODEL
A data model is a set of concepts that
can be used to describe the structure
of the database: data types, relationships,
and constraints that should hold on the
data.
Most data models also include a set of
operations for specifying retrievals
and updates on the database.
DATABASE SCHEMA
A database schema is the description
of a database.
THE EXTERNAL LEVEL
Application programmer uses a
HOST LANGUAGE: COBOL, PL/1, C
Embedded in the host language
is a DATA SUBLANGUAGE DSL
Example: SQL, dBASE
Data Sublanguage consists of:
Data Definition Language DDL
Data Manipulation Language DML
Data Definition Language
declares database objects
Data Manipulation Language
manipulates database objects
e.g. retrievals and updates
THE CONCEPTUAL LEVEL
A representation of the entire information
content of the database
The conceptual schema is a definition
of the view of the total database
content
Conceptual schema, in most cases, is
the union of external schemas
One can add: security and integrity
checks, semantic models and
data dictionary (see later)
THE INTERNAL LEVEL
The internal view is a low-level
representation of the entire
database
Internal record, or stored
record, is built upon
physical records, or
pages and blocks
MAPPINGS
External/Conceptual
Conceptual/Internal
THE DATABASE ADMINISTRATOR
Defines conceptual schema
Defines internal schema
Communicates with users
Defines security and integrity
checks
Defines backup and
recovery procedures
Monitors performance and
decide when to reorganize
the database
THE DATABASE MANAGEMENT SYSTEM
1. A user issues an access request
2. DBMS interpretes the request
3. DBMS performs external/conceptual
and conceptual/interal mappings
4. DBMS executes the necessary
operations on stored database
THUS DBMS MUST SUPPORT
data definition
data manipulation
routine and unplanned requests
data security and integrity
data recovery and concurrency
data dictionary
performance tuning
DISTRIBUTED DATABASE SYSTEMS
Databases and Data Communications
(DB/DC) are coming together
Frontend vs. Backend
Frontend vs. Backend running on different machines
One backend with multiple frontends
Each machine is both backend and frontend
Client vs. Server
Distributed systems
Homogeneous
Heterogeneous
Distributed Database System
has homogeneous DBMSs
Distributed Multiple Database
System has heterogeneous DBMSs
Federated System is another
name for distributed multiple
database system
INTEROPERABILITY
A user can issue access request
and obtain consistent answer on
any of the federated machines
DATA DICTIONARY
Data dictionary is a software utility
that catalogs an organization's
data resources: what data exist, where
they originate, who uses them, their
format, etc.
Data dictionary not only tells
where the data are located in
the database, but also which
application programs process
the data, and closely coordinates
with the DBMS in controlling
access to the database.
Data dictionary contains:
all descriptive information needed
in the database environment, AND
cross-references:
program <-> item
program <-> record
program <-> file
organization <-> system
file <-> system
system <-> schedule