Database Management System: Topic: 3
Database Management System: Topic: 3
Database Management
system
Figure 14-1
DBMS
Database
architecture
Database architecture
• Internal level
– The internal level determines where data are actually
stored on the storage device
• Conceptual level
– The conceptual level defines the logical view of the
data
• External level
– The external level interacts directly with the user
File-based Approach
• Data is stored in one or more separate
computer files
• Data is then processed by computer
programs - applications
6
File-based Approach
7
File-based Approach
• Problems/Limitations
– Data Redundancy
– Data Inconsistency
– More details: see [2]
8
File-based Approach
• Shared File Approach
– Data (files) is shared between different applications
– Data redundancy problem is alleviated
– Data inconsistency problem across different versions
of the same file is solved
– Other problems:
• Rigid data structure: If applications have to share files, the file structure that suits one
application might not suit another
• Physical data dependency: If the structure of the data file needs to be changed in some
way, this alteration will need to be reflected in all application programs that use that
data file
• No support of concurrency control: While a data file is being processed by one
application, the file will not be available for other applications or for ad hoc queries
9
Database Approach
10
Database Approach
• Data
– Known facts that can be recorded and that have
implicit meaning
– Information? Knowledge?
– More: www.whatis.com
• Database: Shared collection of logically related
data and a description of this data, designed to
meet the information needs of an organization
11
Database Approach
• System catalog (metadata) provides description of data
to enable program–data independence
• Logically related data comprises entities, attributes, and
relationships of an organization’s information
• DataBase Management System (DBMS): a general-
purpose software system that facilitates the processes
of defining, constructing, manipulating, and sharing
databases among various users and applications (or a
software system that enables users to define, create,
maintain, and control access to the database)
12
Database Approach
• Data Definition Language (DDL)
– Permits specification of data types, structures and any data constraints
to be stored in the database
– All specifications are stored in the database
• Data manipulation language (DML).
– Query language: retrieve (query), update (insert, delete, modify)
• Controlled access to database may include:
– a security system
– an integrity system
– a concurrency control system
– a recovery control system
– a user-accessible catalog
• Database System = the Database + DBMS software
13
Database Approach
• Roles in the Database Environment
– Database Administrator (DBA): responsible for authorizing
access to DB, coordinating & monitoring its use, and for
acquiring software and hardware resources as needed
– Database Designers: responsible for identifying the data to be
stored in DB, choosing appropriate structures to represent and
store this data
– Application Programmers
– End Users
– More details: see [1,2]-chapter 1
Database Approach
• Characteristics of the Database Approach
– Self-describing nature of a database system
– Insulation between programs and data, and data abstraction
• Program-data independence + Program-operation independence =
Data abstraction
• A data model is a type of data abstraction
– Support of multiple views of the data
– Sharing of data and multi-user transaction processing
– Other advantages of using the DBMS approach: see [1]-1.6
15
Database Languages
• Data Definition Language (DDL) allows the DBA or user
to describe and name entities, attributes, and
relationships required for the application plus any
associated integrity and security constraints
• Data Manipulation Language (DML) provides basic data
manipulation operations on data held in the database
• Data Control Language (DCL) defines activities that are
not in the categories of those for the DDL and DML, such
as granting privileges to users, and defining when
proposed changes to a databases should be irrevocably
made
16
Database Languages
• Procedural DML allows user to tell system
exactly how to manipulate data (e.g., Network
and hierarchical DMLs)
• Non-Procedural DML (declarative language)
allows user to state what data is needed
rather than how it is to be retrieved (e.g., SQL,
QBE)
• Fourth Generation Languages (4GLs)
– Non-procedural languages: SQL, QBE, etc.
– Application generators, report generators, etc. (see [2])
17