database state
Download
Report
Transcript database state
Fundamentals of
Database Systems
Chapter 2
Database System Concepts and
Architecture
IM ISU
Database
1
Data Models
Definition
A set of concepts to describe the structure of
a database, and certain constraints that the
database should obey
Most data models also include a set of basic
operations for specifying retrievals and
updates on the database
IM ISU
Database
2
Data Models (cont.)
Categories of data models
Conceptual (high-level, semantic) data
models
» Provide concepts that are close to the way many
users perceive data
» e.g., Entity-relationship model, object data model
Physical (low-level, internal) data models
» Provide concepts that describe details of how
data is stored in the computer
IM ISU
Database
3
Data Models (cont.)
Implementation (record-oriented) data
models
» Provide concepts that fall between the above two,
balancing user views with some computer storage
details
» e.g., relational model, hierarchical model,
network model
IM ISU
Database
4
Data Models (cont.)
History of data models
Relational Model
» Proposed in 1970 by E.F. Codd (IBM)
» First commercial system in 1981-82
» e.g., ORACLE, SYBASE, SQL Server
IM ISU
Database
5
Data Models (cont.)
IM ISU
Database
6
Data Models (cont.)
Network Model
» The first one to be implemented by Honeywell in
1964-65 (IDS System)
» Adopted heavily due to the support by
CODASYL (CODASYL - DBTG report of 1971)
» Later implemented in a large variety of systems IDMS (Cullinet - now CA), DMS 1100 (Unisys),
IMAGE (H.P.), VAX -DBMS (Digital)
IM ISU
Database
7
Data Models (cont.)
IM ISU
Database
8
Data Models (cont.)
Hierarchical Data Model
» Implemented in a joint effort by IBM and North
American Rockwell around 1965
» Resulted in the IMS family of systems
» The most popular model
IM ISU
Database
9
Data Models (cont.)
IM ISU
Database
10
Data Models (cont.)
Object-oriented Data Models
» Several models have been proposed for implementing in a
database system
» One set comprises models of persistent O-O
Programming Languages such as C++ (e.g., in
OBJECTSTORE or VERSANT), and Smalltalk (e.g., in
GEMSTONE)
» Additionally, systems like O2, ORION (at MCC - then
ITASCA), IRIS (at H.P.- used in Open OODB)
» Object Database Standard: ODMG-93, ODMG-version
2.0, ODMG-version 3.0
IM ISU
Database
11
Data Models (cont.)
Object-Relational Models
» Most recent trend, started with Informix
Universal Server
» Relational systems incorporate concepts from
object databases leading to object-relational
» Exemplified in the latest versions of Oracle-10i,
DB2, and SQL Server and other DBMSs
» Standards included in SQL-99 and expected to be
enhanced in future SQL standards
IM ISU
Database
12
Schemas vs Instances
Database Schema
The description of a database
Includes descriptions of the database
structure and the constraints that should hold
on the database
Can be displayed as a diagram (called schema
diagram)
Database schema changes very infrequently
IM ISU
Database
13
Schemas vs Instances (cont.)
Example schema diagram
IM ISU
Database
14
Schemas vs Instances (cont.)
Database Instance
The actual data stored in a database at a
particular moment in time
Also called database state (or occurrence)
The database state changes every time the
database is updated
» e.g., insert or delete a record
IM ISU
Database
15
Schemas vs Instances (cont.)
Example database state
IM ISU
Database
16
Schema Architecture
Three-Schema Architecture
Internal schema
» Describe data storage structures and access paths
at the internal level
» Typically uses a physical data model
Conceptual schema
IM ISU
» Describe the structure and constraints for the
database at the conceptual level
» Uses a conceptual or an implementation data
model
Database
17
Schema Architecture (cont.)
External schemas
» Describe the various user views at the external
level to
» Usually uses the same data model as the
conceptual level
Purposes
» Support program-data independence
» Support of multiple views of the data
IM ISU
Database
18
DBMS Architecture (cont.)
IM ISU
Database
19
Data Independence
Logical Data Independence
The capacity to change the conceptual
schema without having to change the external
schemas and their application programs
Only view definition and the mapping need
be change
e.g., Changing the Grade_Report
IM ISU
Database
20
DBMS Architecture (cont.)
IM ISU
Database
21
Data Independence (cont.)
Physical Data Independence
The capacity to change the internal schema
without having to change the conceptual
schema
e.g., providing an access path by Semester
and Year
should not change query “list all sections
offered in fall 1998”
IM ISU
Database
22
DBMS Languages
Data Definition Language (DDL)
Used by the DBA and database designers to
specify the conceptual schema
In many DBMSs, DDL is also used to define
conceptual and external schemas (views)
In some DBMSs,
» Internal: storage definition language (SDL)
» External: view definition language (VDL)
IM ISU
Database
23
DBMS Languages (cont.)
IM ISU
Database
24
DBMS Languages (cont.)
Data Manipulation Language (DML)
Used to specify database retrievals and
updates
DML commands (data sublanguage) can be
embedded in a general-purpose programming
language, such as COBOL, PL/1, C/C++
Alternatively, stand-alone DML commands
can be applied directly (query language)
IM ISU
Database
25
DBMS Languages (cont.)
Example in SQL
SELECT
FROM
WHERE
IM ISU
BDATE, ADDRESS
EMPLOYEE
FNAME='John' AND MINIT='B'
AND LNAME='Smith'
Database
26
DBMS Languages (cont.)
Example of embedded SQL
EXEC SQL
declare c cursor for
select customer-name, customer-city
from depositor, customer, account
where depositor.customer-name =
customer.customer-name
and depositor account-number =
account.account-number
and account.balance > :amount
END-EXEC
IM ISU
Database
27
Database System Environment
DBMS component modules
Database system utilities
Tools
CASE tools, data dictionary
Application environment
e.g., PowerBuilder
Communication facilities
IM ISU
Database
28
DBMS Component Modules
IM ISU
Database
29
DBMS Architectures
Centralized DBMS
Combines everything into single system
including- DBMS software, hardware,
application programs, and user interface
processing software
User can still connect through a remote
terminal – however, all processing is done at
centralized site
IM ISU
Database
30
DBMS Architectures (cont.)
A physical centralized architecture
IM ISU
Database
31
DBMS Architectures (cont.)
Basic Client-Server Architectures
Specialized Servers with Specialized
functions
» Print server
» File server
» DBMS server
» Web server
» Email server
Clients can access the specialized servers as
needed
IM ISU
Database
32
DBMS Architectures (cont.)
Logical client-server architecture
IM ISU
Database
33
DBMS Architectures (cont.)
Two Tier Client-Server Architecture
A client program may connect to several
DBMSs, sometimes called the data sources
In general, data sources can be files or other
non-DBMS software that manages data
Other variations of clients are possible
» in some object DBMSs, more functionality is
transferred to clients including data dictionary
functions, optimization and recovery across
multiple servers, etc.
IM ISU
Database
34
DBMS Architectures (cont.)
Three Tier Client-Server Architecture
Common for Web applications
Intermediate Layer called Application Server or
Web Server:
» Stores the web connectivity software and the business
logic part of the application used to access data from
database server
» Acts like a conduit for sending partially processed data
between the database server and the client.
Three-tier Architecture Can Enhance Security
» Database server only accessible via middle tier
» Clients cannot directly access database server
IM ISU
Database
35
DBMS Architectures (cont.)
Logical three tier client-server architecture
IM ISU
Database
36
Classification of DBMSs
Based on the data model used
Traditional: Relational, Network,
Hierarchical
Emerging: Object-oriented, Object-relational
Based on the number of users
Single-user (typically used with microcomputers)
multi-user (most DBMSs)
IM ISU
Database
37
Classification of DBMSs (cont.)
Based on the number of sites
Centralized (uses a single computer with one
database)
Distributed (uses multiple computers,
multiple databases)
» Homogeneous
» Heterogeneous (Federated DBMS)
IM ISU
Database
38