Title: Chapter 2 Database System Concepts and Architecture
1Chapter 2 Database System Concepts and
Architecture
- Dr. Bernard Chen Ph.D.
- University of Central Arkansas
- Fall 2008
2Outline
- Data Models, Schemas, and Instances
- Three-Schema Architecture
- Database language and Interfaces
- The database system environment
- Centralized and client/server architecture
3Categories of data models
- One fundamental characteristic of the database
approach is that it provides some level of data
abstraction - High-level or Conceptual data models
- Provide concept that are close to the way many
users perceive data - Low-level or Physical data model
- Provide concepts that describe the details of how
data is stored in the computer
4Conceptual data models
- It uses concepts such as entities, attributes and
relationships. - Entity represents a real-world object or concept,
such as employee or project - Attribute represents some property of interest
that further describes an entity, such as
employees name or salary - Relation among two or more entities represents an
association among two or more entitles
5Example of a Relation
6Schemas and Database State
- In any data model, it is important to distinguish
between the description of the data and database
itself - The description of the database is called the
database schema - A displayed Schema is called a schema diagram
7Database V.S. File
- In the database approach, a single repository of
data is maintained that is defined once then
accessed by various users - The major differences between DB and File are
- Self-describing of a DB
- Insulation between programs and data
- Support of multiple views of the data
- Sharing of data and multiuser transaction
processing
8University Database
9Example of a Database Schema
10Schemas and Database State
- The data in the database at a particular moment
in time is called a database state - The distinction between database schema and
database state is very important - When we define a new database, we specify its
database schema only to the DBMS - At this point, the corresponding database state
is the empty state with no data - We get the initial state of the database when the
database is first loaded - From then on, every time an update operation is
applied to the database, we get another database
state
11Schemas and Database State
- Valid State a state that satisfies the structure
and constrains specified in the schema. - The database schema changes very infrequently.
- The database state changes every time the
database is updated - Schema is also called intension.
- State is also called extension.
12Outline
- Data Models, Schemas, and Instances
- Three-Schema Architecture
- Database language and Interfaces
- The database system environment
- Centralized and client/server architecture
13Three-Schema Architecture
- Three of four important characteristics of the
database approach, listed in Ch.1 are - Self-describing of a DB (Schema)
- Insulation between programs and data
- Support of multiple views of the data
- Three-Schema Architecture it was proposed to
help achieve and visualize these characteristics
14Three-Schema Architecture
- Defines DBMS schemas at three levels
- Internal schema at the internal level to describe
physical storage structures and access paths (e.g
indexes). - Conceptual schema at the conceptual level to
describe the structure and constraints for the
whole database for a community of users. - External schemas at the external level to
describe the various user views.
15The three-schema architecture
16Outline
- Data Models, Schemas, and Instances
- Three-Schema Architecture
- Database language and Interfaces
- The database system environment
- Centralized and client/server architecture
17DBMS Languages
- The first step to create a database through DBMS
is to specify conceptual and internal schemas for
the database - Data Definition Language (DDL) is used by
database designers to define schemas - Data Manipulation Language (DML)
- View Definition Language (VDL) is to specify
user views - In current DBMS, the preceding types of languages
are usually not considered distinct languages
18DBMS Programming Language Interfaces
- Programmer interfaces for embedding DML in a
programming languages - Embedded Approach e.g embedded SQL (for C, C,
etc.), SQLJ (for Java) - Procedure Call Approach e.g. JDBC for Java, ODBC
(open DB connectivity) for other programming
languages - Database Programming Language Approach e.g.
ORACLE has PL/SQL, a programming language based
on SQL language incorporates SQL and its data
types as integral components
19User-Friendly DBMS Interfaces
- Menu-based, popular for browsing on the web
(URSA) - Forms-based, designed for naïve users
- Graphics-based
- Natural language requests in written English
- Combinations of the above
20Outline
- Data Models, Schemas, and Instances
- Three-Schema Architecture
- Database language and Interfaces
- The database system environment
- Centralized and client/server architecture
21DBMS Component Modules
- A DBMS is a complex software system
- The figure showed in next slide is divide into
two halves. - The top half refers to the various users of the
database system - The lower half shows the internals of the DBMS
responsible for storage of data and processing of
transactions
22Typical DBMS Component Modules
23Outline
- Data Models, Schemas, and Instances
- Three-Schema Architecture
- Database language and Interfaces
- The database system environment
- Centralized and client/server architecture
24Centralized DBMS Architecture
- A centralized DBMS in which all the DBMS
functionality, application program execution, and
user interface processing were carried out on a
single machine
25A Physical Centralized Architecture
26Basic Client/Server Architectures
- The client/server architecture was developed to
deal with computer environment in which a large
number of PCs, workstation, file server - A client in this framework is typically a user
machine that provides user interface capabilities
and local processing - A server is a system containing both hardware and
software that can provide services to the client
machines.
27Logical two-tier client server architecture
28Two-tier Architecture
- This is called two-tire architectures because the
software components are distributed over two
systems client and server - The emergence of the Web changed the roles of
client and server, leading to the three-tier
architecture
29Three-tier architecture
- The intermediate layer or middle layer is
sometimes called the application server or Web
server - Three-tier Architecture Can Enhance Security
- Database server only accessible via middle tier
- Clients cannot directly access database server
30Three-tier client-server architecture
31Three-tier architecture
- The presentation layer displays information to
the user - The business logic layer handles intermediate
rules and constrains before data is passed up to
the user or down to the DBMS - If the bottom layer is split into two layers (a
web server and a database server), then it is a
4-tire architecture (possible to the n-tier)