File - BS-IT UOS

Download Report

Transcript File - BS-IT UOS

Database Design
&
Management
Objectives of this lecture:
The meaning of the term database
The Characteristics of DB approach
The benefits with DB approach
Clearly understand the different types of database.
Understand the client/server Architecture
Discuss the different components of DBMS
environment.
Definition of Database
“ Database is a shared collection of logically
related data, designed to meet the
information needs of multiple users in an
organization ”
Database is designed, built, and populated
with data for a specific purpose. It has an
intended group of users and preconceived
applications in which these users are
interested.
What is a Database …
A brief definition is
An organized store of information.
For performing daily operational & Administrative
tasks.
Held over a period of time.
For later observations & analysis.
In computer readable form.
Using some storage device like HDD, Cartridge disk,
Compact Disk, Tape Devices.
Minimal duplications
of data
Database
characteristics
and
advantages
File sharing
Easy data retrieval
The Range of
Database Applications
• Personal Database – standalone desktop
database
• Workgroup Database – local area network
(<25 users)
• Department Database – local area network
(25-100 users)
• Enterprise Database – wide-area network
(hundreds or thousands of users)
Personal
Computer
Database
Workgroup database with local area network
An
enterprise
data
warehouse
Types of Database
There are different types of databases according to:
(1)Function / Purpose of database
(2)Location of database
(3)Model of database
(4)Architecture of database
Analytic Databases
Analytic databases (a.k.a. OLAP- On Line Analytical
Processing) are primarily static, read-only databases
which store archived, historical data used for analysis. For
example, a company might store sales records over the
last ten years in an analytic database and use that
database to analyze marketing strategies in relationship
to demographics.
• On the web,analytic databases in the form of inventory
catalogs such as Amazon.com. An inventory catalog
analytical database usually holds descriptive information
about all available products in the inventory.
• Web pages are generated dynamically by querying the list
of available products in the inventory against some search
parameters. The dynamically-generated page will display
the information about each item (such as title, author,
ISBN) which is stored in the database.
Operational Databases
• Operational databases (a.k.a. OLTP On Line
Transaction Processing), on the other hand, are used to
manage more dynamic bits of data. These types of
databases allow you to do more than simply view
archived data. Operational databases allow you to
modify that data (add, change or delete data).
• These types of databases are usually used to track realtime information.
• For example, a company might have an operational
database used to track warehouse/stock quantities. As
customers order products from an online web store, an
operational database can be used to keep track of how
many items have been sold and when the company will
need to reorder stock.
Types of Database
• Centralized
Database
• Personal Computer
Database.
• Multi user Database
• Distributed
Database
• Homogenous.
• Heterogenous.
Corporate Computing Model.
Stand alone
Each terminal has its own database.
No sharing of data.
Multi-User DBMS Architectures
• Client-server
- Teleprocessing
- File Server
- Database Server
What is “Client/Server”
• “Client/server” is sometimes used to
refer to processes (clients) that request
services of other processes (servers) –
these processes may execute either on
the same or different computers
• However, “client/server database”
generally implies that the processes
execute on different machines
Client/Server Architecture
• A client/server system (whether
database oriented or not) can be
thought of as having three main
software components:
– A front end application (resident at the
client and with which the user interacts)
– A back end application (resident on the
server and which services the client
requests)
– Communication middleware
Elements of C-S Computing
a client, a server, and network
Client
Server
Network
Client machine
Server machine
Application Tasks
User Interface
Presentation Logic
Application Logic
Data Requests & Results
Physical Data Management
Teleprocessing
• Traditional architecture.
• Single mainframe with a number of
terminals attached.
• Trend is now towards downsizing.
Client (dumb) - Server Model
Server
Client
Presentation Logic
Network
Application Logic
DBMS
File-Server
• File-server is connected to several
workstations across a network.
• Database resides on file-server.
• 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.
File Server Database Systems
File requests,
Fully
Updated whole files Operating
Functional
System
DBMS
Whole files
Client
Server
Database
File-Server Architecture
Database-Server
• Server holds the database and the DBMS.
• Client manages user interface and runs
applications.
• Advantages include:
– wider access to existing databases;
– increased performance;
– possible reduction in hardware costs;
– reduction in communication costs;
– increased consistency.
Database Server Systems
Application
Program
SQL
Required record(s)
Client
Full-fledged
DBMS
Server
Database
Database-Server Model
Server
Client
Application Logic
Presentation Logic
Network
DBMS
Database-Server Architecture
More About Client/Server …
Types of Client/Server
One Server – One Client
Server
One Server – many clients
Server
Client 1
Client 2
Client 3
More About Client/Server …
Types of Client/Server
Many Servers – Many Clients
Client &
Server
Client &
Server
Client &
Server
Database Schema
The description of the database is called
database schema. A database schema is
describe during database design and not
expected to change frequently.
Schema Diagram
Displayed schema is called schema diagram.
Each object in schema is called a schema
construct.
Database instance (occurrence or state)
The data in a database at a particular
moment of time.
Intension & Extension
The schema is sometimes called the
intension and a database instance is called
an extension of the schema.
Database Languages
Data Definition Language (DDL)
Used to specify the conceptual schema
Storage Definition Language (SDL)
Used to specify the internal schema
View Definition Language (VDL)
Used to specify the external schema
Data Manipulation Language (DML)
Used for manipulation of data, like retrieval,
insertion, deletion and modification.
DDL, DML, DCL,
Host Language
A general purpose programming language,
providing various non-database facilities, such as
variables declarations, computational operators,
logic construct and so on.
For example: C, C++, VBA, COBOL
Data sub-language
Embedded language within the host language.
For example: SQL can be used as standalone
language and also as embedded in C or VB.
Possible databases
• Personal address book
• a collection of documents
• a collection of excel
spreadsheets
• data, collected, maintained and
used somewhere
Components of the
Database Environment
DBMS Operational environment is an
integrated system of hardware, software and
people that is designed to facilitate the storage ,
retrieval and control of the information
resources and to improve the productivity of
the organization.
• CASE Tools:
computer-aided software engineering
• Repository:
centralized storehouse of metadata
Components of the Database Environment
Database Management System:
software for managing the database
Database:
storehouse of the data
• Application Programs:
software using the data
• User Interface:
text and graphical displays to users
Components of the Database Environment
Data Administrators:
personnel responsible for maintaining the
database
• System Developers :
personnel responsible for designing
databases and software
• End Users:
people who use the applications and
databases
Components of the database environment
Database System
Environment
Users/Programs
Application Programs/Queries
Software to Process
Queries/Programs
Software to Access Stored Data
Stored Database
Definition
Stored
Database
Database Components
DBMS
===============
Design tools
Database
Database contains:
User’s Data
Metadata
Indexes
Application Metadata
Table Creation
Form Creation
Query Creation
Report Creation
Procedural
language
compiler (4GL)
=============
Run time
Form processor
Query processor
Report Writer
Language Run time
Application
Programs
User
Interface
Applications
CASE Tools:
• Purpose –
• To support the efficient and effective
development of database applications.
•
CASE support may include
–A
data dictionary to store information about
the database application’s data.
– Design tools to support data analysis.
– Tools to develop the corporate, conceptual,
and logical data models.
– Tools to enable the prototyping of applications.
Divided into three categories:
• upper-CASE,
• lower-CASE, and
• integrated-CASE.
•
•
•
•
•
Can provide the following benefits
– Standards
– Integration
– Support for standard methods
– Consistency
– Automation
Database Application Lifecycle – CASE Tools
System Catalog
•
•
•
•
•
•
A repository of information (meta-data)
describing, formally, the data in the
database.
Also sometimes called a data dictionary.
Typically stores:
– Names of authorized users.
– Names of data items in the database.
– Constraints on each data item.
– Data items accessible by a user and the
type of access.
System Catalog
It is used by modules such as:
• – Authorization Control.
• – Integrity Checker.
• Types of System Catalog:
•
Active
•
Passive
Interfaces to a Data Dictionary
Database
Administrators
Application
Programmers
End Users
Human Interfaces
Software and
DBMS Interfaces
Compilers /
Precompilers
Data Dictionary
Application Programs /
Report Generators
Integrity
Constraint
Enforcer
Evolution of DB Systems
•
•
•
•
•
•
•
•
Flat files - 1960s - 1980s
Hierarchical – 1970s - 1990s
Network – 1970s - 1990s
Relational – 1980s - present
Object-oriented – 1990s - present
Object-relational – 1990s - present
Data warehousing – 1980s - present
Web-enabled – 1990s - present
Database models
• 1960
s
• 1970s
• 1980s
• 1990s
Object oriented
• 2000s
?
Hierarchical
Relational
Client Oriented
Traditional
files
Object-relational
Network
Summary
•
•
•
•
•
Definition of Database
Types of database
Range of databases
Possible databases
Components of database environment
Assignment # 1
Write down the detail definitions, functioning
structure with diagrams and advantages and
limitations for different Flavours of Client/Server
System:
•
•
•
•
•
•
Transaction server
Application server
Data Server
Compute Server
Communication Server
Video Server