Lec2 DB Enviroment
Lec2 DB Enviroment
Lec2 DB Enviroment
Database Environment
1
Objectives of Three-Level Architecture
2
Objectives of Three-Level
Architecture
DBA should be able to change database storage
structures without affecting the users’ views.
3
ANSI-SPARC Three-Level Architecture
4
ANSI-SPARC Three-Level Architecture
External Level
◦ Users’ view of the database.
◦ Describes that part of database that is
relevant to a particular user.
Conceptual Level
◦ Community view of the database.
◦ Describes what data is stored in database and
relationships among the data.
5
ANSI-SPARC Three-Level
Architecture
Internal Level
◦ Physical representation of the database on
the computer.
◦ Describes how the data is stored in the
database.
6
Differences between Three Levels of
ANSI-SPARC Architecture
7
Data Independence
Logical Data Independence
◦ Refers to immunity of external schemas to
changes in conceptual schema.
◦ Conceptual schema changes (e.g.
addition/removal of entities).
◦ Should not require changes to external
schema or rewrites of application programs.
8
Data Independence
Physical Data Independence
◦ Refers to immunity of conceptual schema to
changes in the internal schema.
◦ Internal schema changes (e.g. using different
file organizations, storage structures/devices).
◦ Should not require change to conceptual or
external schemas.
9
Data Independence and the ANSI-
SPARC Three-Level Architecture
10
Database Languages
Data Definition Language (DDL)
◦ Allows the DBA or user to describe and name
entities, attributes, and relationships
required for the application
◦ plus any associated integrity and security
constraints.
11
Database Languages
Data Manipulation Language (DML)
◦ Provides basic data manipulation operations
on data held in the database.
Procedural DML
◦ allows user to tell system exactly how to
manipulate data.
Non-Procedural DML
◦ allows user to state what data is needed
rather than how it is to be retrieved.
Fourth Generation Languages (4GLs)
12
Data Model
Integrated collection of concepts for
describing data, relationships between data,
and constraints on the data in an
organization.
13
Data Model
Purpose
◦ To represent data in an understandable way.
14
Data Models
Object-Based Data Models
◦ Entity-Relationship
◦ Semantic
◦ Functional
◦ Object-Oriented.
16
Network Data Model
17
Hierarchical Data Model
18
Conceptual Modeling
Conceptual schema is the core of a system
supporting all user views.
Should be complete and accurate representation
of an organization’s data requirements.
Conceptual modeling is process of developing a
model of information use that is independent of
implementation details.
Result is a conceptual data model.
19
Functions of a DBMS
Data Storage, Retrieval, and Update.
A User-Accessible Catalog.
Transaction Support.
Recovery Services.
20
Functions of a DBMS
Authorization Services.
Integrity Services.
Utility Services.
21
System Catalog
Repository of information (metadata)
describing the data in the database.
One of the fundamental components of
DBMS.
Typically stores:
◦ names, types, and sizes of data items;
◦ constraints on the data;
◦ names of authorized users;
◦ data items accessible by a user and the type of access;
◦ usage statistics.
22
Components of a DBMS
23
Components of Database Manager
(DM)
24
Multi-User DBMS Architectures
Teleprocessing
File-server
Client-server
25
Teleprocessing
Traditional architecture.
Single mainframe with a number of
terminals attached.
Trend is now towards downsizing.
26
File-Server
File-server is
connected to several workstations
across a network.
Disadvantages include:
◦ Significant network traffic.
◦ Copy of DBMS on each workstation.
◦ Concurrency, recovery and integrity control more complex.
27
File-Server Architecture
28
Traditional Two-Tier Client-Server
Client(tier 1) manages user interface and
runs applications.
Server (tier 2) holds database and DBMS.
Advantages include:
◦ wider access to existing databases;
◦ increased performance;
◦ possible reduction in hardware costs;
◦ reduction in communication costs;
◦ increased consistency.
29
Traditional Two-Tier Client-Server
30
Traditional Two-Tier Client-Server
31
Three-Tier Client-Server
Client side presented two problems
preventing true scalability:
◦ ‘Fat’ client, requiring considerable resources on
client’s computer to run effectively.
◦ Significant client side administration overhead.
32
Three-Tier Client-Server
Advantages:
◦ ‘Thin’ client, requiring less expensive hardware.
◦ Application maintenance centralized.
◦ Easier to modify or replace one tier without affecting
others.
◦ Separating business logic from database functions
makes it easier to implement load balancing.
◦ Maps quite naturally to Web environment.
33
Three-Tier Client-Server
34