The document discusses the key components of a database management system (DBMS), including data models, languages for defining and manipulating data, transaction management, storage structure, the role of database administrators, and types of users. A DBMS provides logical and physical views of data that are abstracted from end users and allows for consistent data storage and retrieval through features like transaction processing, concurrency control, and a data dictionary. The document outlines the architecture of a DBMS and how various components work together to define, organize, and access the data in a database.
2. Introduction to DBMS
• Purpose of Database Systems
• View of Data
• Data Models
• Data Definition Language
• Data Manipulation Language
• Transaction Management
• Storage Management
• Database Administrator
• Database Users
• Overall System Structure
2
3. Database Management System
(DMBS)
• Collection of interrelated data
• Set of programs to access the data
• DMBS contains information about a
particular enterprise
• DBMS provides an environment that it both
convenient and efficient to use
3
4. Purpose of Database Systems
Database management systems were developed to
handle the following difficulties of typical file-
processing systems supported by conventional
operating systems:
• Data redundancy and inconsistency
• Difficulty in accessing data
• Data isolation – multiple files and formats
• Integrity problems
• Atomicity of updates
• Concurrent access by multiple users
• Security problems
4
5. View of Data
• An architecture for a database system
View level
View 1 View 2 … View n
Logical
level
Physical
level
5
6. Levels of Abstraction
• Physical level: describes how a record (e.g.
customer) is stored.
• Logical level: describes data stored in database,
and the relationships among the data.
type customer = record
name: string;
street: string;
city: integer;
end;
• View level: application programs hide details of
data types. Views can also hide information (e.g.
salary) for security purposes.
6
7. Instances and Schemas
• Similar to types and variables in
programming languages
• Schema – the logical structure of the
database (e.g., set of customers and
accounts and the relationship between
them)
• Instance – the actual content of the database
at a particular point in time
7
8. Entity-Relationship Model
Example of entity-relationship model
social-security customer-street
account-number
customer-name customer-city balance
customer depositor account
8
9. Relational Model
Example of tabular data in the relational model:
name ssn street city account-number
Johnson 192-83-7465 Alma Palo Alto A-101
Smith 019-28-3746 North Rye A-215
Johnson 192-83-7465 Alma Palo Alto A-201
Jones 321-12-3123 Main Harrison A-217
Smith 019-28-3746 North Rye A-201
account-numbe r balance
A-101 500
A-201 900
A-215 700
A-217 750 9
10. Overall System Structure
naïve users application sophisticated database users
(tellers, agents, etc) programmers users administrator
application Application query database
interface program scheme
Embedded DML DDL query
DML compiler interpreter processor
precompiler
application database-
program management
object code query evaluation system
engine
storage
transaction buffer manager manager
manager
File manager
indices Statistical data disk storage
Data files Data dictionary
10
11. Data Definition Language (DDL)
• Specification notation for defining the database
schema
• DDL compiler generates a set of tables stored in a
data dictionary
• Data dictionary contains metadata (data about
data)
• Data storage and definition language – special
type of DDL in which the storage structure and
access methods used by the database system are
specified
11
12. Data Manipulation Language (DML)
• Language for accessing and manipulating
the data organized by the appropriate data
model
• Two classes of languages
– Procedural – user specifies what data is
required and how to get those data
– Nonprocedural – user specifies what data is
required without specifying how to get those
data
12
13. Transaction Management
• A transaction is a collection of operations that
performs a single logical function in a database
application.
• Transaction-management component ensures that
the database remains in a consistent (correct) state
despite system failures (e.g. power failures and
operating system crashes) and transaction failures.
• Concurrency-control manager controls the
interaction among the concurrent transactions, to
ensure the consistency of the database.
13
14. Storage Management
• A storage manager is a program module that
provides the interface between the low-level data
stored in the database and the application
programs and queries submitted to the system.
• The storage manager is responsible for the
following tasks:
– Interaction with the file manager
– Efficient storing, retrieving, and updating of data
14
15. Database Administrator
• Coordinates all the activities of the database system; the
database administrator has a good understanding of the
enterprise’s information resources and needs:
• Database administrator’s duties include:
– Schema definition
– Storage structure and access method definition
– Schema and physical organization modification
– Granting user authority to access the database
– Specifying integrity constraints
– Acting as liaison with users
– Monitoring performance and responding to changes in
requirements
15
16. Database Users
• Users are differentiated by the way they
expect to interact with the system.
• Application programmers: interact with system
through DML calls.
• Specialized users: write specialized database
applications that do not fit into the traditional data
processing framework
• Sophisticated users: form requests in a database
query language.
• Naive users: invoke one of the permanent
application programs that have been written
previously
16