CHAPTER 2 (continued)
Database System Concepts
and Architecture
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1
Outline
◼ Data Models and Their Categories
◼ Schemas, Instances, and States
◼ Three-Schema Architecture
◼ Data Independence
◼ DBMS Languages and Interfaces
◼ Centralized and Client-Server Architectures
◼ Classification of Distributed DBMSs
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 2
Recap: Categories of Data Models
ER Model Relational How data
Model is stored
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 3
Recap: Example of a Database Schema
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 4
Recap: Example of a database state
database state
(content)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 5
Three-Schema Architecture
◼ Proposed to support DBMS characteristics of:
◼ Program-data independence.
◼ Support of multiple views of the data.
◼ Not explicitly used in commercial DBMS products,
but has been useful in explaining database
system organization
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 6
Three-Schema Architecture
◼ Defines DBMS schemas at three levels:
◼ Internal schema (physical data model)
(e.g. indexes, types of storage etc.)
◼ Conceptual schema (logical data model)
(e.g. assigns security to tables).
◼ External schema (conceptual data
model)
(e.g. end users can view subset of data).
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 7
The three-schema architecture
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 8
Data Independence
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 9
Data Independence
◼ Logical Data Independence:
◼ capacity to change the conceptual schema without
changing the external schemas
◼ Physical Data Independence:
◼ capacity to change the internal schema without
changing the conceptual schema.
For example, the internal schema may be changed
when certain file structures are re-organized.
Mapping needs to be changed.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 10
DBMS Languages
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 11
Data Definition Language (DDL):
◼ Define database structure
◼ Used to create schema, tables, constraints etc.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 12
Data Manipulation Language (DML):
◼ DML commands can be embedded in programming
languages, such as C, C++, Java etc.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 13
Data Control Language (DCL):
◼ DCL execution is transactional. It also has rollback
parameters.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 14
Transaction Control Language (TCL):
◼ TCL is used to run the changes made by the DML
statement.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 15
User-Friendly DBMS Interfaces
◼ Menu-based
DBMS
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 16
User-Friendly DBMS Interfaces
◼ Forms-based
DBMS
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 17
User-Friendly DBMS Interfaces
◼ Graphics-based
DBMS
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 18
Typical DBMS Component Modules
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 19
DBMS Architectures
Two types:
Centralized DBMS
Client-Server DBMS
◼ Centralized DBMS:
◼ Combines everything into single system
◼ DBMS software, hardware, applications, and user
interface processing software.
◼ User can connect through a remote terminal –
however, all processing is done at centralized site.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 20
A Physical Centralized Architecture
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 21
Client-Server Architectures
Clients:
◼ Clients may be diskless machines or PCs or
Workstations with disks with only the client
software installed.
◼ Connected to the servers via network.
◼ (LAN: local area network, wireless network, etc.)
Servers:
◼ Refer to a physical machine or virtual machine or
software that is performing server services.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 22
Client-Server Architectures
◼ Basic 2-tier architecture
◼ Print server, File server, DBMS server, Web server,
Email server
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 23
Client-Server Architectures
◼ Basic Three-tier architecture
Common for Web applications.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 24
Distributed DBMS (DDBMS)
DDBMS
DDBMS DDBMS
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 25
Distributed DBMSs (DDBMSs)
◼ Homogeneous DDBMS
◼ all the sites use identical DBMS
◼ a central or master DBMS co-ordinates data
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 26
Variations of Distributed DBMSs
(DDBMSs)
◼ Heterogeneous DDBMS
◼ different sites have different operating systems, DBMS
products and data models.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 27
Conclusion
◼ Three-Schema Architecture
◼ Data Independence
◼ DBMS Languages and Interfaces
◼ Centralized and Client-Server Architectures
◼ Classification of Distributed DBMSs
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 28