You are on page 1of 32

Database Systems-Introduction

Databases & Database Users

Bayu Adhi Tama

Fakultas Ilmu Komputer


Universitas Sriwijaya
Acknowledge
• The main reference of this presentation is the textbook
and PPT from : Elmasri & Navathe, Fundamental of
Database Systems, 4th edition, 2004.
• Additional resources: presentation prepared by Prof
Steven A. Demurjian
(http://www.engr.uconn.edu/%7Esteve/Cse255/cse255.ht
ml)
Outline
• What is a database?
• What is a database system?
• What is a DBMS?
• When is a database system needed?
• Motivating database management
• Characteristic of database approach
• Database users
• Advantages of using DBMS approach
• A brief history of database application
• When not to use a DBMS
What is a database?
• Example of database application:
• Banks,
• Hospital,
• etc
• Extensions:
• Multimedia databases
• Geographic Information Systems
• Data warehouse
• On-line analytical processing (OLAP)
• Active & real-time databases
• etc
What is a database? (cont)
Basic definition:
• Database: A collection of related data.
• Data: Known facts that can be recorded and have an implicit
meaning.
• Mini-world: Some part of the real world about which data is
stored in a database. For example, student grades and
transcripts at a university.
• Database Management System (DBMS): A software
package/ system to facilitate the creation and maintenance of
a computerized database.
• Database System: The DBMS software together with the
data itself. Sometimes, the applications are also included.
Properties of database
• Represents some aspect of the real world, called miniworld or
Universe of Discourse
• Logically coherent collection of data with some inherent
meaning
• Designed, built and populated for specific purpose
What is a database system?
When is a database system
needed?
Examples

Typical Environment
• Corporate Enterprise
• Data With Large Homogenous Parts (e.g., Formatted Data)
• Data Relevant Over a Long Time
• Data Used by Many Simultaneous Users (Batch and On-
line Users) for Retrieval & Update
What is a DBMS?
Database Management System is a general purpose software
system that facilitates the process of
• defining,
• constructing and
• manipulating
database for various applications
Main functions of DBMS
• Defining a Database:
Specifying Data Types, Structures, and Constraints
• Constructing a Database:
the Process of Storing the Data Itself on Some Storage Medium
• Manipulating a Database:
Function for Querying Specific Data in the Database and
Updating the Database
Additional functions of DBMS
• Interaction with File Manager
So that Details Related to Data Storage and Access are Removed From
Application Programs
• Integrity Enforcement
Guarantee Correctness, Validity, Consistency
• Security Enforcement
Prevent Data From Illegal Uses
• Concurrency Control
Control the Interference Between Concurrent Programs
• Recovery from Failure
• Query Processing and Optimization
Motivating database management
• Manual Database Management
• Data are Not Stored
• Programmer Defines Both Logical Data Structure and Physical
Structure (Storage)
Motivating database management
• File Processing
• Data are Stored in Files with Interface Between Programs and Files.
• Various Access Methods Exist (E.G., Sequential, Indexed, Random)
• One File Corresponds to One or Several Programs.
Problems with file systems
• Data are Still Highly Redundant
• Sharing Limited and at the File Level
• Data is Unstructured
• “Flat” Files
• High Maintenance Costs
• Data Dependence
• Ensuring Data Consistency and Controlling Access to Data (Concurrent
Access Problematic)
• Difficult to Understand by New Developers
• Difficulties in Developing New Applications
• Almost Impossible to Evolve with New Capabilities
• Risk of Inefficient Applications
Database vs. File System
Coordinates Both Physical Coordinates Only the
and Logical Access to the Physical Access to the
Data Data
Data are Shared by All Data Written by One
Programs Authorized to Program May Not Be
Have Access to It Readable by Another
Program
Flexible Access to Data Pre-determined Access to
(i.e., Queries) Data (I.E., Compiled
Programs)
Multiple Users Accessing No Two Programs Can
the Same Data at Same Concurrently Access the
Time Same File
‘University’ database example
• Has 5 files (‘tables’):
 Student
 Course
 Section
 Grade Report
 Prerequisite
• See how do they relate to each other!
• How do we define, construct & manipulate?
Characteristic of Database
Approach

• Self-describing nature
• Insulation between program and data
• Support of multiple views of data
• Sharing of data & multiuser transaction
processing
Self-describing nature
• As oppose to unstructured data
• Contains not only database itself, but
also a complete definition of database
structure (metadata)
• In traditional file processing, data
definition is part of the application
program
Insulation between programs &
data

• Changes to the data structure does not


generally require changing the program
• For example, adding a new field ‘Birthday’
• The ‘data structure’ is not in the program
• We call this program-data independence
• DBMS provides conceptual representation
• User or programmer does not need to know
how the DBMS store the data in the disk /
file.
Multiple Views
• Many users, different needs
• Accessing & printing the transcript of each
students
• Checking that students have taken all the
prerequisite course
Sharing & Multiuser
• DBMS provides concurrency control to
ensure ‘correct’ behavior when multiple
users access the same database
• Example: airline seat reservation
• It is called On-Line Transaction
Processing (OLTP)
Database users
• Actors on the Scene
• Database administrator
 Authorizing access rights
• Database designers
 Defines the structure of data to be stored
• End users:
 Casual end user
 Naïve/parametric user
 Sophisticated users
 Stand-alone users
• System analyst and Application
programmers (software engineers)
Database users
• Workers behind the Scene
• DBMS system designers and implementers
• Tool developers
• Operators and maintenance personnel
Advantages of Using a DBMS
• Controlling redundancy
• Restricting unauthorized access
• Provides persistent storage for data
structures
• Permits inference & actions using rules
• Multiple user interfaces
• Represents complex relations amongst data
• Enforcing integrity constraints
• Provides backup & recovery
Additional Implications of Using
the Database Approach

Potential for enforcing standards: this is very


crucial for the success of database applications
in large organizations Standards refer to data
item names, display formats, screens, report
structures, meta-data (description of data) etc.
Reduced application development time:
incremental time to add each new application is
reduced.
Additional Implications of Using
the Database Approach
Flexibility to change data structures: database
structure may evolve as new requirements are
defined.
Availability of up-to-date information – very
important for on-line transaction systems such
as airline, hotel, car reservations.
Economies of scale: by consolidating data and
applications across departments wasteful
overlap of resources and personnel can be
avoided.
Historical Development of Database
Technology
Early Database Applications: The Hierarchical and
Network Models were introduced in mid 1960’s and
dominated during the seventies. A bulk of the
worldwide database processing still occurs using these
models.
Relational Model based Systems: The model that was
originally introduced in 1970 was heavily researched
and experimented with in IBM and the universities.
Relational DBMS Products emerged in the 1980’s.
Historical Development of Database
Technology
Object-oriented applications: OODBMSs were
introduced in late 1980’s and early 1990’s to cater to
the need of complex data processing in CAD and other
applications. Their use has not taken off much.
Data on the Web and E-commerce Applications: Web
contains data in HTML (Hypertext markup language)
with links among pages. This has given rise to a new
set of applications and E-commerce is using new
standards like XML (eXtended Markup Language).
Extending Database Capabilities
New functionality is being added to DBMSs in the
following areas:
 Scientific Applications

 Image Storage and Management

 Audio and Video data management

 Data Mining

 Spatial data management

 Time Series and Historical Data

Management
The above gives rise to new research and development in
incorporating new data types, complex data structures, new
operations and storage and indexing schemes in database
systems.
When not to use a DBMS
Main inhibitors (costs) of using a DBMS:
 High initial investment and possible need for

additional hardware.
 Overhead for providing generality, security,

concurrency control, recovery, and integrity


functions.
When a DBMS may be unnecessary:
 If the database and applications are simple, well

defined, and not expected to change.


 If there are stringent real-time requirements that

may not be met because of DBMS overhead.


 If access to data by multiple users is not required.
When not to use a DBMS
When no DBMS may suffice:
 If the database system is not able to handle the

complexity of data because of modeling limitations


 If the database users need special operations not

supported by the DBMS.

You might also like