Lecture 1
Lecture 1
Fundamental Database
Database
Concepts
Concepts
Lecture 1
1
What is a Database?
Access by a collection
of ad hoc programs
in C++, Java, PHP, etc.
users of
the data
There is no control or
coordination of what
these programs do
data stored as bits on disks
organized as files with the data
Why Use a DBMS?
DBMS
users of
the data
application
application
program(s)
application
program(s)
application
program(s) users of
program(s)
the data
external/application view
internal/implementation view
query processor
security manager
DBMS
software concurrency manager
components index manager
data
data definition data
description processor data
dictionary
DBMS Languages
application
application
DML: data manipulation language application
program(s)
application
program(s) users of
QL: query language program(s)
program(s) the
GPL: general purpose languages data
query processor
security manager
concurrency manager system
index manager configuration
languages
DDL:
data data
definition definition data
language processor data
dictionary
Advantages of Using a DBMS
query processor
software operating
security manager
between the data and
concurrency manager the applications can
index manager provide many
capabilities
in a generic way
data
definition data
processor data
dictionary
Persistence
•A DBMS provides
persistent objects, types and data structures
application
application
application
program(s)
application
program(s) users of
application developers program(s)
program(s) the
data
query processor
DBMS security manager
system concurrency manager
developers index manager system
database administrator
(and DB
designer data
designer)
definition data
processor data
dictionary
DBMS Roles
– database administrators
– database designers
– systems analysts and application programmers
– end users
Actors on the Scene
•Database Administrators
– acquiring a DBMS
– managing the system
– acquiring HW and SW to support the DBMS
– authorizing access (security policies)
– managing staff, including DB designers
Actors on the Scene
•Database Designers
•End Users
•Tools Developers
•Database Researchers
user-specific
views