Chapter 1
Databases and Database
Users
CHAPTER 1 OUTLINE
⦿ Introduction
⦿ An Example
⦿ Characteristics of the Database
Approach
⦿ Actors on the Scene
⦿ Workers behind the Scene
⦿ Advantages of Using the DBMS
Approach
⦿ A Brief History of Database Applications
⦿ When Not to Use a DBMS
OVERVIEW
⦿ Traditional database applications
◼Store textual or numeric information
⦿ Multimedia databases
◼Store images, audio clips, and video
streams digitally
⦿ Geographic information systems
(GIS)
◼Store and analyze maps, weather data, and
satellite images
OVERVIEW (CONT'D.)
⦿ Data warehouses and online
analytical processing (OLAP)
systems
◼Extract and analyze useful business
information from very large databases
◼Support decision making
⦿ Real-time and active database
technology
◼Control industrial and manufacturing
processes
INTRODUCTION
⦿ Database
◼Collection of related data
◼Known facts that can be recorded and that
have implicit meaning
◼Miniworld or universe of discourse
(UoD)
◼Represents some aspect of the real world
◼Logically coherent collection of data with
inherent meaning
◼Built for a specific purpose
INTRODUCTION (CONT'D.)
⦿ Example of a large commercial database
◼[Link]
⦿ Database management system
(DBMS)
◼Collection of programs
◼Enables users to create and maintain a
database
⦿ Defining a database
◼Specify the data types, structures, and
constraints of the data to be stored
INTRODUCTION (CONT'D.)
⦿ Meta-data
◼Database definition or descriptive
information
◼Stored by the DBMS in the form of a
database catalog or dictionary
⦿ Manipulating a database
◼Query and update the database miniworld
◼Generate reports
INTRODUCTION (CONT'D.)
⦿ Sharing a database
◼Allow multiple users and programs to
access the database simultaneously
⦿ Application program
◼Accesses database by sending queries to
DBMS
⦿ Query
◼Causes some data to be retrieved
INTRODUCTION (CONT'D.)
⦿ Transaction
◼May cause some data to be read and some
data to be written into the database
⦿ Protection includes:
◼System protection
◼Security protection
⦿ Maintain the database system
◼Allow the system to evolve as requirements
change over time
◼Allow system to perform well
AN EXAMPLE
⦿ UNIVERSITY database
◼Information concerning students, courses,
and grades in a university environment
⦿ Data records
◼STUDENT
◼COURSE
◼SECTION
◼GRADE_REPORT
◼PREREQUISITE
AN EXAMPLE (CONT'D.)
⦿ Specify structure of records of each file by
specifying data type for each data
element
◼String of alphabetic characters
◼Integer
◼Etc.
AN EXAMPLE (CONT'D.)
⦿ Construct UNIVERSITY database
◼Store data to represent each student,
course, section, grade report, and
prerequisite as a record in appropriate file
⦿ Relationships among the records
⦿ Manipulation involves querying and
updating
AN EXAMPLE (CONT'D.)
⦿ Examples of queries:
◼Retrieve the transcript
◼List the names of students who took the
section of the ‘Database’ course offered in
fall 2008 and their grades in that section
◼List the prerequisites of the ‘Database’
course
AN EXAMPLE (CONT'D.)
⦿ Examples of updates:
◼Change the class of ‘Smith’ to sophomore
◼Create a new section for the ‘Database’
course for this semester
◼Enter a grade of ‘A’ for ‘Smith’ in the
‘Database’ section of last semester
AN EXAMPLE (CONT'D.)
⦿ Phases for designing a database:
◼Requirements specification and
analysis
◼Conceptual design
◼Logical design
◼Physical design
CHARACTERISTICS OF THE
DATABASE APPROACH
⦿ Traditional file processing
◼Each user defines and implements the files
needed for a specific software application
◼Encourages functional unit in organizations
to develop specialized application & files.
⦿ Database approach
◼Single repository maintains data that is
defined once and then accessed by various
users… via what method?
CHARACTERISTICS OF THE
DATABASE APPROACH (CONT'D.)
⦿ Main characteristics of database
approach
◼Self-describing nature of a database system
◼Insulation between programs and data, and
data abstraction
◼Support of multiple views of the data
◼Sharing of data and multiuser transaction
processing
SELF-DESCRIBING NATURE
OF A DATABASE SYSTEM
⦿ Database system contains complete
definition of structure and constraints
⦿ Meta-data
◼Describes structure of the database
⦿ Database catalog used by:
◼DBMS software
◼Database users who need information about
database structure
INSULATION BETWEEN
PROGRAMS AND DATA
⦿ Program-data independence
◼Structure of data files is stored in DBMS
catalog separately from access programs
⦿ Program-operation independence
◼Operations specified in two parts:
• Interface includes operation name and data
types of its arguments
• Implementation can be changed without
affecting the interface
Example: Operations of a Car, Light
Switch
DATA ABSTRACTION
⦿ Data abstraction
◼Allows program-data independence and
program-operation independence
⦿ Conceptual representation of data
◼Does not include details of how data is
stored or how operations are implemented
⦿ Data model
◼Type of data abstraction used to provide
conceptual representation
SUPPORT OF MULTIPLE
VIEWS OF THE DATA
⦿ View
◼Subset of the database
◼Contains virtual data derived from the
database files but is not explicitly stored
⦿ Multiuser DBMS
◼Users have a variety of distinct applications
◼Must provide facilities for defining multiple
views
SHARING OF DATA AND MULTIUSER
TRANSACTION PROCESSING
⦿ Allow multiple users to access the
database at the same time
⦿ Concurrency control software
◼Ensure that several users trying to update
the same data do so in a controlled manner
• Result of the updates is correct
⦿ Online transaction processing
(OLTP) application
SHARING OF DATA AND MULTIUSER
TRANSACTION PROCESSING (CONT'D.)
⦿ Transaction
◼Central to many database applications
◼Executing program or process that includes
one or more database
◼Isolation property
• Each transaction appears to execute in isolation
from other transactions
◼Atomicity property
• Either all the database operations in a
transaction are executed or none are
ACTORS ON THE SCENE
⦿ Database administrators (DBA) are
responsible for:
◼Authorizing access to the database
◼Coordinating and monitoring its use
◼Acquiring software and hardware resources
⦿ Database designers are responsible
for:
◼Identifying the data to be stored
◼Choosing appropriate structures to
represent and store this data
ACTORS ON THE SCENE
(CONT'D.)
⦿ End users
◼People whose jobs require access to the
database
◼Types
• Casual end users
• Naive or parametric end users
• Sophisticated end users
• Standalone users
ACTORS ON THE SCENE
(CONT'D.)
⦿ System analysts
◼Determine requirements of end users
⦿ Application programmers
◼Implement these specifications as programs
WORKERS BEHIND THE
SCENE
⦿ DBMS system designers and
implementers
◼Design and implement the DBMS modules
and interfaces as a software package
⦿ Tool developers
◼Design and implement tools
⦿ Operators and maintenance
personnel
◼Responsible for running and maintenance of
hardware and software environment for
database system
ADVANTAGES OF USING
THE DBMS APPROACH
⦿ Controlling redundancy
◼Data normalization
◼Denormalization
• Sometimes necessary to use controlled
redundancy to improve the performance of
queries
⦿ Restricting unauthorized access
◼Security and authorization subsystem
◼Privileged software
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Providing persistent storage for
program objects
◼Complex object in C++ can be stored
permanently in an object-oriented DBMS
◼Impedance mismatch problem
• Object-oriented database systems typically offer
data structure compatibility
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Providing storage structures and search
techniques for efficient query processing
◼Indexes
◼Buffering and caching
◼Query processing and optimization
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Providing backup and recovery
◼Backup and recovery subsystem of the
DBMS is responsible for recovery
⦿ Providing multiple user interfaces
◼Graphical user interfaces (GUIs)
⦿ Representing complex relationships
among data
◼May include numerous varieties of data that
are interrelated in many ways
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Enforcing integrity constraints
◼Referential integrity constraint
• Every section record must be related to a course
record
◼Key or uniqueness constraint
• Every course record must have a unique value
for Course_number
◼Business rules
◼Inherent rules of the data model
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Permitting inferencing and actions using
rules
◼Deductive database systems
• Provide capabilities for defining deduction rules
• Inferencing new information from the stored
database facts
◼Trigger
• Rule activated by updates to the table
◼Stored procedures
• More involved procedures to enforce rules
ADVANTAGES OF USING THE
DBMS APPROACH (CONT'D.)
⦿ Additional implications of using the
database approach
◼Reduced application development time
◼Flexibility
◼Availability of up-to-date information
◼Economies of scale
A BRIEF HISTORY OF
DATABASE APPLICATIONS
⦿ Early database applications using
hierarchical and network systems
◼Large numbers of records of similar
structure
⦿ Providing data abstraction and
application flexibility with relational
databases
◼Separates physical storage of data from its
conceptual representation
◼Provides a mathematical foundation for
data representation and querying
A BRIEF HISTORY OF DATABASE
APPLICATIONS (CONT'D.)
⦿ Object-oriented applications and the
need for more complex databases
◼Used in specialized applications:
engineering design, multimedia publishing,
and manufacturing systems
⦿ Interchanging data on the Web for e-
commerce using XML
◼Extended markup language (XML) primary
standard for interchanging data among
various types of databases and Web pages
A BRIEF HISTORY OF DATABASE
APPLICATIONS (CONT'D.)
⦿ Extending database capabilities for new
applications
◼Extensions to better support specialized
requirements for applications
◼Enterprise resource planning (ERP)
◼Customer relationship management
(CRM)
⦿ Databases versus information retrieval
◼Information retrieval (IR)
• Deals with books, manuscripts, and various
forms of library-based articles
WHEN NOT TO USE A
DBMS
⦿ More desirable to use regular files for:
◼Simple, well-defined database applications
not expected to change at all
◼Stringent, real-time requirements that may
not be met because of DBMS overhead
◼Embedded systems with limited storage
capacity
◼No multiple-user access to data
SUMMARY
⦿ Database
◼Collection of related data (recorded facts)
⦿ DBMS
◼Generalized software package for
implementing and maintaining a
computerized database
⦿ Several categories of database users
⦿ Database applications have evolved
◼Current trends: IR, Web