Introduction: Databases and Database Users
Introduction: Databases and Database Users
1
Outline
• 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
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)
3
Basic Definitions
• 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.
4
Simplified database system
environment
5
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
6
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
7
Example of a Database
(with a Conceptual Data Model)
• Mini-world for the example:
– Part of a UNIVERSITY environment.
• Some mini-world entities:
– STUDENTs
– COURSEs
– SECTIONs (of COURSEs)
– (academic) DEPARTMENTs
– INSTRUCTORs
8
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
9
Example of a simple database
10
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.
11
Example of a simplified database
catalog
12
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.
13
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.
14
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”).
15
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.
16
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.
17
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
18
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
19
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
20
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), Web page layouts, etc.
• Reduced application development time:
– Incremental time to add each new application
is reduced.
21
Additional Implications of Using
the Database Approach
(continued)
• Flexibility to change data structures:
– Database structure may evolve as new
requirements are defined.
• Availability of current information:
– Extremely important for on-line transaction systems
such as airline, hotel, car reservations.
• Economies of scale:
– Wasteful overlap of resources and personnel can
be avoided by consolidating data and applications
across departments.
22
Historical Development of
Database Technology
• Early Database Applications:
– The Hierarchical and Network Models were introduced
in mid 1960s and dominated during the seventies.
– A bulk of the worldwide database processing still occurs
using these models, particularly, the hierarchical model.
• Relational Model based Systems:
– Relational model was originally introduced in 1970, was
heavily researched and experimented within IBM
Research and several universities.
– Relational DBMS Products emerged in the early 1980s.
23
Historical Development of
Database Technology
•
(continued)
Object-oriented and emerging applications:
– Object-Oriented Database Management Systems
(OODBMSs) were introduced in late 1980s and early
1990s to cater to the need of complex data
processing in CAD and other applications.
• Their use has not taken off much.
– Many relational DBMSs have incorporated object
database concepts, leading to a new category called
object-relational DBMSs (ORDBMSs)
– Extended relational systems add further capabilities
(e.g. for multimedia data, XML, and other data types)
24
Historical Development of
Database Technology
•
(continued)
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). (see Ch. 27).
– Script programming languages such as PHP and
JavaScript allow generation of dynamic Web pages
that are partially generated from a database (see
Ch. 26).
• Also allow database updates through Web pages
25
Extending Database
Capabilities
• New functionality is being added to DBMSs in the following
areas:
– Scientific Applications
– XML (eXtensible Markup Language)
– Image Storage and Management
– Audio and Video Data Management
– Data Warehousing and Data Mining
– Spatial Data Management
– Time Series and Historical Data Management
28
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
29