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

CoSc 265 FDMS - Chapter Two

The document outlines the topics of data models, database architecture, schemas versus instances, and DBMS languages. It describes the three-schema architecture which defines three levels of schemas and supports data independence. It also discusses different data models, DBMS languages like DDL and DML, and database schemas versus states.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

CoSc 265 FDMS - Chapter Two

The document outlines the topics of data models, database architecture, schemas versus instances, and DBMS languages. It describes the three-schema architecture which defines three levels of schemas and supports data independence. It also discusses different data models, DBMS languages like DDL and DML, and database schemas versus states.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as 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

Data Models
● certain constraints that the database should
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-

Categories of Data
based data models.)
● 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:

Schemas versus Instances ■ 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.
● 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

DBMS Languages ○ DML commands (data


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.
Database System ◦ Reorganizing database file structures.
◦ Performance monitoring utilities.

Utilities ◦ Report generation 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

Client-Server
○ Clients may be diskless machines or PCs or
Workstations with disks with only the client
software installed.

DBMS ○ Connected to the servers via some form of a


network.

Architectures
■ (LAN: local area network, wireless
network, etc.)
● DBMS Server
○ 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
server databases via standard interface such as:
● Specialized Servers with Specialized
functions
○ Print server
○ File server
Basic 2-tier Client-Server ○ DBMS server

Architectures ○ Web server


○ 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
Three Tier Client-Server used to 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