Copyright © 2016 Ramez Elmasri and Shamkant B.
Navathe
CHAPTER 2
Database System Concepts
and Architecture
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 1- 2
Data Models
◼ Data Model:
◼ A set of concepts to describe the structure of a database,
the operations for manipulating these structures, and
certain constraints that the database should obey.
◼ Data Model Structure and Constraints:
◼ Constructs are used to define the database structure
◼ Constructs typically include elements (and their data
types) as well as groups of elements (e.g. entity, record,
table), and relationships among such groups.
◼ Constraints specify some restrictions on valid data; these
constraints must be enforced at all times
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 3
Data Models (continued)
◼ Data Model Operations:
◼ These operations are used for specifying database
retrievals and updates by referring to the
constructs of the data model.
◼ Operations on the data model may include basic
model operations (e.g. generic insert, delete,
update) and user-defined operations (e.g.
compute_student_gpa, update_inventory)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 4
Categories of Data Models
◼ Conceptual (high-level, semantic) data models:
◼ Provide concepts that are close to the way many users perceive
data.
◼ (Also called entity-based or object-based data models.)
◼ Physical (low-level, internal) data models:
◼ Provide concepts that describe details of how data is stored in
the computer.
◼ Implementation (representational) data models:
◼ Provide concepts that fall between the above two, used by many
commercial DBMS implementations (e.g. relational data models).
It represents data by using record structures
◼ Self-Describing Data Models:
◼ Combine the description of data with the data values. Examples
include XML, key-value stores and some NOSQL systems.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 5
Schemas versus Instances
◼ Database Schema:
◼ The description of a database.
◼ Includes descriptions of the database structure,
data types, and the constraints on the database.
◼ Schema Diagram:
◼ An illustrative display of (most aspects of) a
database schema.
◼ Schema Construct:
◼ A component of the schema or an object within
the schema, e.g., STUDENT, COURSE.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 6
Schemas versus Instances
◼ Database State:
◼ The actual data stored in a database at a
particular moment in time. This includes the
collection of all the data in the database.
◼ Also called database instance (or occurrence or
snapshot).
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 7
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 state when it is initially
loaded into the system.
◼ Valid State:
◼ A state that satisfies the structure and constraints
of the database.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 8
Database Schema
vs. Database State (continued)
◼ Distinction
◼ 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.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 9
Example of a Database Schema
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 10
Example of a database state
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 11
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- 12
Three-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).
◼ 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 schema.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 13
The three-schema architecture
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 14
DATABASE LANGUAGES AND
INTERFACES
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 15
DBMS Languages
◼ Data Definition Language (DDL)
◼ Data Manipulation Language (DML)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 16
DBMS Languages
◼ Data Definition Language (DDL):
◼ Used by the DBA and database designers to
specify the conceptual schema of a database.
◼ In many DBMSs, the DDL is also used to define
internal and external schemas (views).
◼ In some DBMSs, separate storage definition
language (SDL) and view definition language
(VDL) are used to define internal and external
schemas.
◼ SDL is typically realized via DBMS commands
provided to the DBA and database designers
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 17
DBMS Languages
◼ 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,
C++, or Java.
◼ A library of functions can also be provided to access
the DBMS from a programming language
◼ Alternatively, stand-alone DML commands can be
applied directly (called a query language).
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 2- 18