CSC271 Database Systems
Lecture # 3
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
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 and 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
Allowsuser 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
Allowsuser 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
Functions of a DBMS
Data storage, retrieval, and update
A user-accessible catalog
Concurrency control services
Recovery services
Functions of a DBMS..
Authorization services
Support for data communication
Integrity service
Services to promote data independence
DBMS Environment
Single user
Only one user of data base.
There is no use of network for one user, he/she
can directly interact with the system. No use of
cocurrency control.
Multi-user
We use three architecture.
Teleprocessing
File-Server Architecture
Client-Server Architecture
Teleprocessing
Central computers connected with
other clients computers and these
are called terminals. These are dumb
terminals having no processing
capabilties. They just perform input
output operations. DB and all
storage is installed on central
computer.
Teleprocessing
Traditional architecture
Single mainframe with a number of terminals
attached
Performance of central computer
decreases by increasing of clients.
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
Client
side 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
By1995, three layers proposed, each
potentially running on a different platform
Three-Tier Client-Server
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
Data Model
Integratedcollection of concepts for
describing data, relationships between data,
and constraints on the data in an organization
Purpose of Data Model
To represent data in an understandable way
Represents the organization itself
Helps in unambiguous and accurate communication between
database designers and end-users about their understanding of
the organizational data
Components of a Data Model
A data model comprises:
A structural part(how we can construct)
A manipulative part(how we can interact with data)
Possibly a set of integrity rules
ANSI-SPARC architecture related models
External data model (Universe of Discourse)
Conceptual data model (DBMS independent)
Internal data model
Categories of Data Models
Categories of data models include:
Object (entities, their attributes and relations)-based
Entity-Relationship
Semantic
Functional
Object-Oriented
Record-based
Relational Data Model
Network Data Model
Hierarchical Data Model
Relational Data Model
Network Data Model
Hierarchical Data Model
Conceptual Modeling
Conceptual modeling is process of developing
a model of information use in an enterprise
that is independent of implementation details
Should be complete and accurate representation of an
organization’s data requirements
Conceptual schema is the core of a system supporting all user
views
Conceptual vs. logical data model
Summary
Database languages
Functions of a DBMS
DBMS environment
Data models and their categories