0% found this document useful (0 votes)
50 views

02 - Database System Concepts and Architecture-Ver2 PDF

Uploaded by

rahma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

02 - Database System Concepts and Architecture-Ver2 PDF

Uploaded by

rahma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 49

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Faculty of Computer Science


.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
University of Indonesia

CSF2600700
Basis Data
Term 1 - 2012/2013

1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Faculty of Computer Science


.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
University of Indonesia

Database System
Concepts and
Architecture

2
Acknowledgement

• All materials in these slides are from:


✤ Elmasri, et al. Database Systems, 6th
Edition, Addison-Wesley, 2011

• Do not reproduce these slides for


commercial use and / or other purpose
outside Database 1 course.

3
Outline

• Data Models
✤ Categories of Data Models
✤ History of Data Models

• Schema
✤ Three-Schema Architecture

• DBMS Component
• DBMS Architecture
4
Data Models

• Data Model:
✤ A set of concepts to describe the structure
of a database, and certain constraints that
the database should obey.

• Data Model Operations:


✤ Operations for specifying database
retrievals and updates by referring to the
concepts of the data model. Operations
on the data model may include basic
operations and user-defined operations.
5
Categories Data Models
• Conceptual (high-level, semantic) data models:
Provide concepts that are close to the way many
users perceive data. Such as: entity, attribute,
relationship among entities (will explain more
detail in ER model)

• Physical (low-level, internal) data models:


Provide concepts that describe details of how data
is stored in the computer. Ex. Tree, Graph, dsb

• Implementation (representational) data models:


Provide concepts that fall between the above two,
balancing user views with some computer storage
details. Such as: relational, network or hierarchical
data model
6
History of Data Models - 1
• 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 Equipment
Corp.).
✤ Data in a Network in terms of Interdependencies
and Connections Among Data Items
✤ Graphs
7
History of Data Models - 2

• 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. Other system based
on this model: System 2k (SAS inc.)
✤ Data in Hierarchies in terms of
Interdependencies and Connections
Among Data Items
✤ Tree
8
History of Data Models - 3
• Relational Model:
✤ proposed in 1970 by E.F. Codd (IBM),
✤ first commercial system in 1981-82.
✤ Now in several commercial products (DB2, ORACLE,
SQL Server, SYBASE, INFORMIX).

• Object-oriented Data Model(s):


✤ 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).
9
History of Data Models - 3

• Object-Relational Models:
✤ Most Recent Trend.
✤ Started with Informix Universal Server.
✤ Exemplified in the latest versions of
Oracle-10g, DB2, and SQL Server etc.
systems.

10
Network Graphical Representation
Courses
Course#* Title Descrip

Requirements COfferings QtrOfferings

Prereq Formats
PCourse#* Title Section#* Quarter Campus

Takes Teaches

Student Faculty
SSN#* Name GPA SSN#* Name Phone

11
Hierarchy Graphical Representation

Courses
Course#* Title Descrip
1 1

n
n
Prereq Formats
PCourse#* Title Section#* Quarter Campus
1
1
n
1
Student Faculty
SSN#* Name GPA SSFaN#* Name Phone

12
Relational Model
• Relational Model of Data Based on the Concept of a
Relation

• Relation - a Mathematical Concept Based on Sets

• Strength of the Relational Approach to Data


Management Comes From the Formal Foundation
Provided by the Theory of Relations

• RELATION: A Table of Values


✤ A Relation May Be Thought of as a Set of Rows
✤ A Relation May Alternately be Though of as a Set of
Columns
✤ Each Row of the Relation May Be Given an Identifier
✤ Each Column Typically is Called by its Column Name or
Column Header or Attribute Name
13
Relational Tables - Rows/Columns/Tuples

14
Entity Relationship (ER) Data Model

• Originally Proposed by P. Chen, ACM TODS,


Vol. 1, No. 1, March1976

• Conceptual Modeling of Database Requirements

• Allows an Application's Information to be


Characterized

• Basic Building Blocks are Entities and


Relationships

• Well-Understood and Studied Technique

• Well-Suited for Relational Database


Development

• Did Not Originally Include Inheritance!!


15
ER Diagram

16
Schemas
• Database Schema: The description of a
database. Includes descriptions of the database
structure and the constraints that should hold on
the database.

• Schema Diagram: A diagrammatic display of


(some aspects of) a database schema.

• Schema Construct: A component of the schema


or an object within the schema, e.g., STUDENT,
COURSE.

• Database State/Snapshot: The actual data


stored in a database at a particular moment in
time. Also called the current set of
occurrences/instances).
17
Schema Diagram

18
Database Schema Vs. Database State

• Database State: Refers to the content of a


database at a moment in time.

• Initial Database State: Refers to the database


when it is loaded

• Valid State: A state that satisfies the structure


and constraints of the database.

• Distinction
✤ The database schema changes very
infrequently. The database state changes every
time the database is updated.
✤ Schema is also called intension, whereas state
is called extension.
19
Three-Schema Architecture - 1

• Proposed to support DBMS


characteristics of:
✤ Program-data independence.
✤ Support of multiple views of the data.

20
Three-Schema Architecture - 2

21
Another view: Three Schema Architecture

22
Three-Schema Architecture - 3
• Defines DBMS schemas at three levels:
✤ Internal schema at the internal level to
describe physical storage structures and
access paths. Typically uses a physical data
model.
✤ Conceptual schema at the conceptual level to
describe the structure and constraints for the
whole database for a community of users.
Uses a conceptual or an implementation data
model.
✤ External schemas at the external level to
describe the various user views. Usually uses
the same data model as the conceptual level.
23
Conceptual Schema
• Describes the Meaning of Data in the
Universe of Discourse
✤ Emphasizes on General, Conceptually
Relevant, and Often Time Invariant
Structural Aspects of the Universe of
Discourse

• Excludes the Physical Organization and


Access Aspects of the Data

24
External Schema
• Describes Parts of the Information in
the Conceptual Schema in a form
Convenient to a Particular User Group’s
View

• Derived from the Conceptual Schema

25
Internal Schema
• Describes How the Information
Described in the Conceptual Schema is
Physically Represented in a Database
to Provide the Overall Best
Performance

26
Unified Example of Three Schemas

27
Data Independence
• Ability that Allows Application Programs Not Being
Affected by Changes in Irrelevant Parts of the
Conceptual Data Representation, Data Storage
Structure and Data Access Methods

• Invisibility (Transparency) of the Details of Entire


Database Organization, Storage Structure and Access
Strategy to the Users
✤ Both Logical and Physical

• Recall Software Engineering Concepts:


✤ Abstraction the Details of an Application's Components
Can Be Hidden, Providing a Broad Perspective on the
Design
✤ Representation Independence: Changes Can Be Made
to the Implementation that have No Impact on the
Interface and Its Users
28
Data Independence

• Logical Data Independence: The


capacity to change the conceptual
schema without having to change the
external schemas and their application
programs.

• Physical Data Independence: The


capacity to change the internal schema
without having to change the
conceptual schema.

29
Data Independence

• When a schema at a lower level is


changed, only the mappings between
this schema and higher-level schemas
need to be changed in a DBMS that
fully supports data independence. The
higher-level schemas themselves are
unchanged. Hence, the application
programs need not be changed since
they refer to the external schemas.

30
Physical Data Independence

Physical

31
Logical Data Independence

Logical

32
DBMS Languages - 1
• Data Definition Language (DDL): Used by
the DBA and database designers to specify the
conceptual schema and internal schema of a
database and any mapping between the two.

• In many DBMSs where a clear separation of


conceptual and internal schema, DDL is used
to define conceptual schema only. Storage
definition language (SDL) define the internal
schema and view definition language (VDL)
are used to define user view and their mapping
to the conceptual schemas.

• Most DBMSs, the DDL is used to define both


conceptual and external schemas
33
DBMS Language - 2

• Data Manipulation Language (DML):


Used to specify database retrievals and
updates.
✤ DML commands (data sublanguage) can
be embedded in a general-purpose
programming language (host language),
such as COBOL, C or an Assembly
Language.
✤ Alternatively, stand-alone DML commands
can be applied directly (query language).

34
DBMS Language - 3

• High Level or Non-procedural


Languages:
✤ e.g., SQL, are set-oriented and specify
what data to retrieve than how to retrieve.
Also called declarative languages.

• Low Level or Procedural Languages:


record-at-a-time; they specify how to
retrieve data and must be embedded in
programming language

35
DBMS Interfaces

• Menu-based, popular for browsing on


the web

• Forms-based, designed for naïve users


• Graphics-based (Point and Click, Drag
and Drop etc.)

• Natural language: requests in written


English “Show the student that have
GPA above 3.0”

• Combinations of the above


36
Other DBMS Interfaces

• Speech as Input and Output


• Parametric interfaces (e.g., bank tellers)
using function keys.

• Interfaces for the DBA:


✤ Creating accounts, granting
authorizations
✤ Setting system parameters
✤ Changing schemas or access path

37
The Database System Environment
• Main DBMS Modules
✤ DDL Compiler
✤ DML Compiler
✤ Ad-hoc (Interactive) Query Compiler
✤ Run-time Database Processor
✤ Stored Data Manager
✤ Concurrency/Back-Up/Recovery Subsystem

• DBMS Utility Modules


✤ Loading Routines
✤ Backup Utility
✤ …
38
Components modules of a DBMS and Their
Interactions

39
Database System Utilities

• To perform certain functions such as:


✤ Loading data stored in files into a
database. Includes data conversion tools.
✤ Backing up the database periodically on
tape.
✤ Reorganizing database file structures.
✤ Report generation utilities.
✤ Performance monitoring utilities.
✤ Other functions, such as sorting, user
monitoring, data compression, etc.
40
Other Tools
• Data dictionary/repository:
✤ Used to store schema descriptions and
other information such as design decisions,
application program descriptions, user
information, usage standards, etc.

• Application Development
Environments and CASE (computer-
aided software engineering) tools:
✤ Power builder, Builder, VB, Java, C, C++,
etc
✤ Ms. Visio, ER-Win, DBDesigner, etc
41
Centralized Architectures

• Centralized DBMS: combines


everything into single system (PC)
including- DBMS software, hardware,
application programs and user interface
processing software.

42
Client-Server Architectures - 1

• Servers:
✤ Specialized Servers with Specialized
functions
✤ Ex. Database Server, File Server, Web
Server, Email Server

43
Client-Server Architectures - 2

• Client:
✤ Provide appropriate interfaces and a
client-version of the system to access and
utilize the server resources.
✤ Clients maybe diskless machines or PCs
or Workstations with disks with only the
client software installed.
✤ Connected to the servers via some form
of a network.(LAN: local area network,
wireless network, etc.)
44
Two Tier Client-Server Architecture

• User Interface Programs and


Application Programs run on the
client side

• Interface called ODBC (Open


Database Connectivity) provides an
Application program interface (API)
allow client side programs to call the
DBMS. Most DBMS vendors provide
ODBC drivers.

45
Logical two-tier client/server architecture

46
Three Tier Client-Server Architecture

• Common for Web applications

• Intermediate Layer called Application Server


or Web Server:
✤ stores the web connectivity software and the
rules and business logic (constraints) part of
the application used to access the right amount
of data from the database server
✤ acts like a conduit for sending partially processed
data between the database server and the client.

• Additional Features- Security:


✤ encrypt the data at the server before transmission
✤ decrypt data at the client
47
Logical three-tier client/server architecture

48
Database Classification

49

You might also like