Chapter 1
Chapter 1
Slide 1- 2
Types of Databases and Database
Applications
Traditional Applications:
Numeric and Textual Databases
More Recent Applications:
Multimedia Databases
Geographic Information Systems (GIS)
Data Warehouses
Real-time and Active Databases
Many other applications
First part of book focuses on traditional applications
A number of recent applications are described later in the
book (for example, Chapters 24,26,28,29,30)
Slide 1- 3
Data Warehouses
Slide 1- 4
Basic Definitions
Database:
A collection of logically 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
Slide 1- 5
Properties of database
Represents some aspect of the real world, called
miniworld
Logically coherent collection of data with some
inherent meaning
Designed, built and populated for specific
purpose
Simplified database system environment
Slide 1- 7
When is a database system needed?
Examples
Typical Environment
Corporate Enterprise
Data)
Data Relevant Over a Long Time
Slide 1- 10
Typical DBMS Functionality
Define a particular database in terms of its data types,
structures, and constraints
Construct or Load the initial database contents on a
secondary storage medium
Manipulating the database:
Retrieval: Querying, generating reports
Modification: Insertions, deletions and updates to its content
Accessing the database through Web applications
Processing and Sharing by a set of concurrent users and
application programs – yet, keeping all data valid and
consistent
Slide 1- 11
Typical DBMS Functionality
Other features:
Protection or Security measures to prevent
unauthorized access
“Active” processing to take internal actions on data
Presentation and Visualization of data
Maintaining the database and associated
programs over the lifetime of the database
application
Called database, software, and system
maintenance
Slide 1- 12
What is DBMS?
Slide 1- 13
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
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
Slide 1- 20
Example of a Database
(with a Conceptual Data Model)
Some mini-world relationships:
SECTIONs are of specific COURSEs
STUDENTs take SECTIONs
COURSEs have prerequisite COURSEs
INSTRUCTORs teach SECTIONs
COURSEs are offered by DEPARTMENTs
STUDENTs major in DEPARTMENTs
Slide 1- 21
Example of a
simple
database
Example of a simple database
Slide 1- 23
Main Characteristics of the Database
Approach
Self-describing nature of a database system:
A DBMS catalog stores the description of a particular
database (e.g. data structures, types, and constraints)
The description is called meta-data.
This allows the DBMS software to work with different
database applications.
Insulation between programs and data:
Called program-data independence.
Allows changing data structures and storage organization
without having to change the DBMS access programs.
Slide 1- 24
Main Characteristics of the Database
Approach (continued)
Data Abstraction:
A data model is used to hide storage details and
present the users with a conceptual view of the
database.
Programs refer to the data model constructs rather
than data storage details
Support of multiple views of the data:
Each user may see a different view of the
database, which describes only the data of
interest to that user.
Slide 1- 25
Main Characteristics of the Database
Approach (continued)
Sharing of data and multi-user transaction
processing:
Allowing a set of concurrent users to retrieve from and to
update the database.
Concurrency control within the DBMS guarantees that each
transaction is correctly executed or aborted
Recovery subsystem ensures each completed transaction
has its effect permanently recorded in the database
OLTP (Online Transaction Processing) is a major part of
database applications. This allows hundreds of concurrent
transactions to execute per second.
Slide 1- 26
Database Users
Users may be divided into
Those who actually use and control the database
content, and those who design, develop and
maintain database applications (called “Actors on
the Scene”), and
Those who design and develop the DBMS
software and related tools, and the computer
systems operators (called “Workers Behind the
Scene”).
Slide 1- 27
Database Users
Actors on the scene
Database administrators:
Responsible for authorizing access to the database,
for coordinating and monitoring its use, acquiring
software and hardware resources, controlling its use
and monitoring efficiency of operations.
Database Designers:
Responsible to define the content, the structure, the
constraints, and functions or transactions against
the database. They must communicate with the
end-users and understand their needs.
Slide 1- 28
Categories of End-users
Actors on the scene (continued)
End-users: They use the data for queries, reports
and some of them update the database content.
End-users can be categorized into:
Casual: access database occasionally when
needed
Naïve or Parametric: they make up a large section
of the end-user population.
They use previously well-defined functions in the form of
“canned transactions” against the database.
Examples are bank-tellers or reservation clerks who do
this activity for an entire shift of operations.
Slide 1- 29
Categories of End-users (continued)
Sophisticated:
These include business analysts, scientists, engineers,
others thoroughly familiar with the system capabilities.
Many use tools in the form of software packages that work
closely with the stored database.
Stand-alone:
Mostly maintain personal databases using ready-to-use
packaged applications.
An example is a tax program user that creates its own
internal database.
Another example is a user that maintains an address book
Slide 1- 30
Advantages of Using the Database
Approach
Controlling redundancy in data storage and in
development and maintenance efforts.
Sharing of data among multiple users.
Restricting unauthorized access to data.
Providing persistent storage for program Objects
In Object-oriented DBMSs – see Chapters 20-22
Providing Storage Structures (e.g. indexes) for
efficient Query Processing
Slide 1- 31
Advantages of Using the Database
Approach (continued)
Providing backup and recovery services.
Providing multiple interfaces to different classes
of users.
Representing complex relationships among data.
Enforcing integrity constraints on the database.
Drawing inferences and actions from the stored
data using deductive and active rules
Slide 1- 32
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.
Slide 1- 33
Summary
Types of Databases and Database Applications
Basic Definitions
Typical DBMS Functionality
Example of a Database (UNIVERSITY)
Main Characteristics of the Database Approach
Database Users
Advantages of Using the Database Approach
When Not to Use Databases
Slide 1- 34
Practice DDL
CREATE TABLE department(
d_id INT GENERATED ALWAYS AS IDENTITY,
d_name VARCHAR(255) NOT NULL,
PRIMARY KEY(d_id)
);
CONSTRAINT fk_department
FOREIGN KEY(d_id)
REFERENCES department(d_id)
);
Slide 1- 35