0% found this document useful (0 votes)
56 views24 pages

CoSc 265 FDMS - Chapter Two

The document discusses database concepts including data models, schemas, database architecture using three-schema architecture, data independence, and DBMS languages. It provides details on different categories of data models, the distinction between schemas and instances, components of the three-schema architecture, and types of languages used in DBMS like DDL, DML, and others.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views24 pages

CoSc 265 FDMS - Chapter Two

The document discusses database concepts including data models, schemas, database architecture using three-schema architecture, data independence, and DBMS languages. It provides details on different categories of data models, the distinction between schemas and instances, components of the three-schema architecture, and types of languages used in DBMS like DDL, DML, and others.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

CoSc 265

Fundamental of Database
management System

Instructor: Welde Janfa


Outline
● Data Model
○ Overview
○ Data Models and Their Categories
○ Schemas, Instances, and States
Chapter Two ● Database Architecture
○ Three-Schema Architecture
○ Data Independence
○ DBMS Languages and Interfaces
Database System Concepts ○ Database System Utilities and
and Tools
○ Centralized and Client-Server
Architecture Architectures
○ Classification of DBMSs
⚫ Data Model:
◦ A set of concepts that describe
● structure of a database,
● operations for manipulating these structures,
and
● certain constraints that the database should
Data Models obey.
⚫ Data Model Structure and Constraints:
◦ 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
◦ specify some restrictions on valid data; these
constraints must be enforced at all times
⚫ Data Model Operations:
◦ used for specifying database retrievals and updates by
referring to the constructs of the data model.
◦ basic model operations (e.g. generic insert, delete,
update) and user-defined operations (e.g.
compute_student_gpa, update_inventory)
● 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.)
Categories of Data ● Physical (low-level, internal) data models:
○ Provide concepts that describe details of

Models how data is stored in the computer. These


are usually specified in an ad-hoc manner
through DBMS design and administration
manuals
● Implementation (representational) data
models:
○ Provide concepts that fall between the
above two, used by many commercial
DBMS implementations (e.g. relational
data models used in many commercial
systems).
● Self-Describing Data Models:
○ Combine the description of data with the
data values. Examples include XML, key-
value stores and some NOSQL systems.
● 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)
Schemas versus Instances a database schema.
○ Schema Construct:
■ A component of the schema or an object
within the schema, e.g., STUDENT,
COURSE.
● 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).
■ The term instance is also applied to
individual database components, e.g.
record instance, table instance, entity
instance
● 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:
Schemas versus Database 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.
○ State is also called extension.
Example of a
Database Schema

7
Example of a
Database Schema
Three-Schema Architecture
● Proposed to support DBMS characteristics
of:
○ Program-data independence.
Database ○ Support of multiple views of the data.
Defines DBMS schemas at three levels:
Architecture ● Internal schema
○ describe physical data storage structures and
access paths for the database (e.g indexes).
Typically uses a physical data model.
● Conceptual schema
○ describe the structure and constraints for the
whole database for a community of users.
○ Uses a conceptual or an implementation data
model.
● External schemas
○ describe the various user views.
○ Usually uses the same data model as the
conceptual schema.
Three-Schema Architecture
⚫ Defines DBMS schemas at three levels:
◦ Internal schema at the internal level to describe physical data
storage structures and access paths for the database (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. 10
The three-schema
architecture
● Logical Data Independence:
○ The capacity to change the conceptual
schema without having to change the
external schemas and their associated
application programs.

Data ● Physical Data Independence:


○ The capacity to change the internal
Independence schema without having to change the
conceptual schema.
○ For example, the internal schema may
be changed when certain file structures
are reorganized or new indexes are
created to improve database
performance
○ 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.
● 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

DBMS Languages 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
● Data Manipulation Language
(DML):
○ Used to specify database
retrievals and updates
○ DML commands (data
DBMS Languages sublanguage) can be
embedded in a general-purpose
programming language (host
language), such as COBOL, C,
C++, C# or Java.
○ Alternatively, stand-alone DML
commands can be applied
directly (called a query
language).
● Types of DML
○ High Level or Non-procedural
Language:
■ High-level statements either to be
entered interactively from a display

DBMS Languages
monitor or terminal or to be embedded
in a general-purpose programming
language
■ For example, the SQL relational
language
■ Are “set-at-a-time” or “set-oriented”
■ Also called declarative languages.
○ Low Level or Procedural Language:
■ Low level DML must be embedded in
general-purpose programming
language
■ Retrieve data one record-at-a-time;
■ Constructs such as looping are
needed to retrieve multiple records,
along with positioning pointers.
■ Low-level DMLs are also called record-
at-a-time
● Stand-alone query language interfaces
○ Example: Entering SQL queries at the DBMS
interactive SQL interface (e.g. SQL*Plus in
ORACLE)
● Programmer interfaces for embedding DML in

DBMS Interfaces programming languages


○ Embedded Approach: e.g embedded SQL
(for C, C++, etc.), SQLJ (for Java)
○ Procedure Call Approach: e.g. JDBC for
Java, ODBC
○ Database Programming Language
Approach: e.g. ORACLE has PL/SQL,
○ Scripting Languages: PHP (client-side
scripting) s.
● User-friendly interfaces
○ Menu-based, forms-based, graphics-based, etc.
● Mobile Interfaces: interfaces allowing users to
perform transactions using mobile apps
● 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.
Database System ◦ Performance monitoring utilities.
◦ Report generation utilities.

Utilities ◦ Other functions, such as sorting, user monitoring,


data compression, etc.
◦ Data dictionary / repository:
◦ Used to store schema descriptions and other
information
◦ Active data dictionary is accessed by DBMS
software and users/DBA.
◦ Passive data dictionary is accessed by users/DBA
only.
◦ Application Development Environments and CASE
(computer-aided software engineering)
Typical DBMS
Component
Modules
Centralized and ⚫ Centralized
Client-Server DBMS DBMS:
Architectures ◦ Combines
everything into
single system
including-
DBMS software,
hardware, 19
A Physical
Centralized
Architecture

20
● There is a dedicated client and server machine in this
system.
● Client
○ Provide appropriate interfaces through a client
software
○ Clients may be diskless machines or PCs or
Client-Server Workstations with disks with only the client
software installed.

DBMS ○ Connected to the servers via some form of a


network.
■ (LAN: local area network, wireless
Architectures ● DBMS Server
network, etc.)

○ Provides database query and transaction services


to the clients
○ Relational DBMS servers are often called SQL
servers, query servers, or transaction servers

○ Applications running on clients utilize an


Application Program Interface (API) to access
● Specialized Servers with
Specialized functions
○ Print server
○ File server
Basic 2-tier Client-Server ○ DBMS server
○ Web server
Architectures ○ Email server
● Clients can access the specialized
servers as needed
● 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
Three Tier Client-Server access the corresponding data from the
database server
Architecture ○ 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
○ Clients contain user interfaces and Web
browsers
○ The client is typically a PC or a mobile
device connected to the Web
End of Chapter
Two

You might also like