Lecture 4 w3
Lecture 4 w3
Lecture 4 w3
Lecture # 4
Summary: Previous Lecture
ANSI-SPARC three-level architecture
Schemas, mappings, and instances
Data independence
Database Languages
Data sublanguage consist of two parts:
DDL (Data Definition Language)
DML (Data Manipulation Language)
Data sublanguage
A data sublanguage is a specific language designed to
interact with a database, particularly for defining its
structure and manipulating the data within it.
Does not include constructs for all computing needs such
as iterations or conditional statements
Many DBMSs provide embedding the sublanguage in a
high level programming language e.g. C, C++, Java etc.
In this case , these high level languages are called host
languages
Data Definition Language (DDL)
Allows the DBA or user to describe name
entities, attributes, and relationships
required for the application
Plus any associated integrity and security
constraints
System catalog (data dictionary, data
directory)
Metadata (data about data, data
description, data definitions)
Data Manipulation Language (DML)
Provides basic data manipulation
operations on data held in the database
Procedural DML
Non-Procedural DML
Procedural DML
Allows
user to tell system exactly how to
manipulate data
Operate on records individually
Typically, embedded in a high level language
Network or hierarchical DMLs
More work is done by user (programmer)
Non-Procedural DML
Allows user to state what data is needed
rather than how it is to be retrieved
Operate on set of records
Relational DBMS include e.g. SQL, QBE etc.
Easy to understand and learn than procedural DML
More work is done by DBMS than user
Provides considerable degree of data independence
Also called declarative languages
Fourth Generation Languages (4GLs)
No clear consensus
Forms generators
Report generators
Graphics generators
Application generators
Examples : SQL and QBE
Functions of a DBMS
Data storage, retrieval, and update
A user-accessible catalog
Transaction support
Concurrency control services
Recovery services
Functions of a DBMS..
Authorization services
Support for data communication
Integrity service
Services to promote data independence
Utility services
DBMS Environment
Single user
Multi-user
Teleprocessing
File-Server Architecture
Client-Server Architecture
Teleprocessing
Teleprocessing
Traditional architecture
Single mainframe with a number of
terminals attached
Trend is now towards downsizing
File-Server Architecture
File-Server Architecture
DBMS and applications run on each
workstation
Disadvantages include:
Significant network traffic
Copy of DBMS on each workstation
Concurrency, recovery and integrity control more
complex because multiple DBMSs accessing same files
Client-Server Architecture
Client-Server Architecture
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
Two-Tier Client-Server
Three-Tier Client-Server
Clientside issues in two-tier client/server
model preventing true scalability:
‘Fat’ client, requiring considerable resources on client’s
computer to run effectively
Significant client side administration overhead