SlideShare a Scribd company logo
DATABASES AND
DATABASE USERS
Database System
Outlines
:
• Types of database & database applications.
• Basic definitions.
• Typical DBMS functionality.
• An example for database.
• Main characteristics of the database
approach.
• Database users.
Discussion
Why
Databases
?
Introduction
Databases and database systems are an essential
component of life in modern society.
There are two types of database applications:
Traditional database applications:
• Bank system.
• Hotel or airline reservation.
• Library.
• Online shopping.
• Supermarket.
Modern database applications:
• Geographic information systems (GIS).
• Data warehouses and online analytical processing
(OLAP).
What is a database
?
• Database is a collection of related data.
• Data means known facts that can be recorded and
that have implicit meaning. For example, consider
the names, telephone numbers, and addresses of the
people you know.
• A database represents some aspect of the real world,
sometimes called the miniworld. Changes to the
miniworld are reflected in the database.
• A database can be of any size and complexity
What is a DBMS
?
A database management system (DBMS) is a
collection of programs that enables users to create and
maintain a database. The DBMS is a general-purpose
software system that facilitates the processes of defining,
constructing, manipulating, and sharing databases
among various users and applications.
The DBMS typical functionalities are:
1. Defining
2. Constructing
3. Manipulating
4. Sharing
5. Protection
6. Maintain
Types of databases
A DBMS can support many different types of databases.
Databases can be classified according to the:
Number of users:
Single user database / multiuser database
Database location(s):
Centralized database / distributed database
Expected type and extent of use:
Operational database / data warehouse
A Simplified Database System
Environment
Figure 1
An Example
Figure 2
An Example
Examples of querying (retrieving):
• Retrieve the transcript—a list of all courses and
grades—of ‘Smith’
• 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.
Examples of updates include the following:
• Change the class of ‘Smith’ to 2
• 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
Characteristics of the Database
Approach
 A number of characteristics distinguish the database
approach from the much older approach of
programming with files. In traditional file
processing, each user defines and implements the
files needed for a specific software application as
part of programming the application. In the
database approach, a single repository maintains
data that is defined once and then accessed by
various users.
 In file systems, each application is free to name data
elements independently. In contrast, in a database,
the names or labels of data are defined once, and
used repeatedly by queries, transactions, and
Characteristics of the Database
Approach
1. Self-Describing Nature of a Database System
Database system contains not only the database
itself but also a complete definition or description
of the database structure and constraints. This
definition is stored in the DBMS catalog (meta-
data).
Characteristics of the Database
Approach
Figure 3
Characteristics of the Database
Approach
2. Insulation between Programs and Data, and Data
Abstraction
In traditional file processing, the structure of data
files is embedded in the application programs, so
any changes to the structure of a file may require
changing all programs that access that file. By
contrast, DBMS access programs do not require
such changes in most cases. The structure of data
files is stored in the DBMS catalog separately from
the access programs. We call this property
program-data independence.
Characteristics of the Database
Approach
Figure 4
Characteristics of the Database
Approach
3. Support of Multiple Views of the Data
A database typically has many users, each of whom
may require a different perspective or view of the
database. For example, one user of the database of
Figure 2 may be interested only in accessing and
printing the transcript of each student; the view for
this user is shown in Figure 5(a). A second user,
who is interested only in checking that students
have taken all the prerequisites of each course for
which they register, may require the view shown in
Figure 5(b).
Characteristics of the Database
Approach
Characteristics of the Database
Approach
4. Sharing of Data and Multiuser Transaction
Processing
A multiuser DBMS, as its name implies, must allow
multiple users to access the database at the same
time.
Database users
There are two types of people who dealing with
database:
1. People whose jobs involve the day-to-day use of a
large database; we call them the actors on the scene.
2. People who may be called workers behind the scene
those who work to maintain the database system
environment but who are not actively interested in
the database contents as part of their daily job.
Actors on the scene
1. Database Administrators:
Database administrator (DBA). The DBA is responsible
for:
 Authorizing access to the database, coordinating and
monitoring its use.
 Acquiring software and hardware resources as
needed.
 The DBA is accountable for problems such as
security breaches and poor system response time.
In large organizations, the DBA is assisted by a staff that
carries out these functions.
Actors on the scene
2. Database Designers:
Database designers are responsible for:
 Identifying the data to be stored in the database and
for choosing appropriate structures to represent and
store this data.
 Communicate with all prospective database users in
order to understand their requirements and to
create a design that meets these requirements.
Actors on the scene
3. End Users:
End users are the people whose jobs require access to
the database for querying, updating, and generating
reports; the database primarily exists for their use.
There are several categories of end users:
 Casual end users
 Naive or parametric end users
 Sophisticated end users
 Standalone users
Actors on the scene
4. System Analysts and Application Programmers
(Software Engineers)
System analysts determine the requirements of end
users, especially naive and parametric end users, and
develop specifications for standard canned transactions
that meet these requirements.
Application programmers implement these
specifications as programs; then they test, debug,
document, and maintain these canned transactions.
Workers behind the scene
In addition to those who design, use, and administer a
database, others are associated with the design,
development, and operation of the DBMS software and
system environment. These persons are typically not
interested in the database content itself. We call them the
workers behind the scene, and they include the following
categories:
 DBMS system designers and implementers.
 Tool developers.
 Operators and maintenance personnel (system
administration personnel) are responsible for the actual
running and maintenance of the hardware and software
environment for the database system.
Database Systems
Advantages of Using the DBMS
Approach
1. Controlling Redundancy.
 Data Normalization
 Controlled Redundancy
2. Restricting Unauthorized Access
3. Providing Persistent Storage for Program Objects
 object-oriented database systems
4. Providing Storage Structures and Search
Techniques for Efficient Query Processing
5. Providing Backup and Recovery
6. Providing Multiple User Interfaces
Advantages of Using the DBMS
Approach
7. Representing Complex Relationships among Data
8. Enforcing Integrity Constraints
9. Permitting Inferencing and Actions Using Rules
An Example
Figure 2
Advantages of Using the DBMS
Approach
Figure 6:
Redundancy
Advantages of Using the DBMS
Approach
DBA Parametric users Financial team
Database
• Make user accounts
• Assigning privileges
• Access database
• access the database
only through the
predefined canned
transactions
• Accessing
financial data
only
Advantages of Using the DBMS
Approach
Figure 7
Relationship
s
Historical development of
database technology
1. Hierarchical Databases
A kind of database management system that links
records together like a family tree such that each record
type has only one owner, e.g. an order is owned by only
one customer. Hierarchical structures were widely used
in the first mainframe database management systems.
However, due to their restrictions, they often cannot be
used to relate structures that exist in the real world.
Historical development of
database technology
ORDER_HEADER
CUSTOMER PRODUCT
Figure 8
Historical development of
database technology
Product_NO Customer_ID
10 113
30 204
Address Name Customer_I
D
Duhok Ahmad 113
Zakho Ali 204
Description Product_NO
TV 10
Phone 30
Historical development of
database technology
2. Relational Databases
Relational databases were originally proposed to
separate the physical storage of data from its
conceptual representation and to provide a
mathematical foundation for data representation and
querying. The relational data model also introduced
high-level query languages that provided an alternative
to programming language interfaces, making it much
faster to write new queries. Relational systems were
initially targeted to the same applications as earlier
systems, and provided flexibility to develop new queries
quickly and to reorganize the database as requirements
changed. Hence, data abstraction and program-data
Historical development of
database technology
3. Object-Oriented Databases
The emergence of object-oriented programming
languages in the 1980s and the need to store and share
complex, structured objects led to the development of
object-oriented databases (OODBs). Initially, OODBs
were considered a competitor to relational databases,
since they provided more general data structures. They
also incorporated many of the useful object-oriented
paradigms, such as abstract data types, encapsulation
of operations, inheritance, and object identity.
When Not to Use a DBMS
The overhead costs of using a DBMS are due to the
following:
■ High initial investment in hardware, software, and
training
■ The generality that a DBMS provides for defining
and processing data
■ Overhead for providing security, concurrency
control, recovery, and integrity functions
When Not to Use a DBMS
It may be more desirable to use regular files under
the following circumstances:
■ Simple, well-defined database applications that are
not expected to change at all
■ Stringent, real-time requirements for some
application programs that may not be met because
of DBMS overhead.
■ Embedded systems with limited storage capacity,
where a general-purpose DBMS would not fit
■ No multiple-user access to data

More Related Content

Similar to Introduction to Database and database users.pptx (20)

PPT
Chapter 1 - testing
jlope438
 
PPTX
Introduction to DBMS.pptx
ChandanHegde13
 
DOCX
DATABASE MANAGEMENT SYSTEM UNIT-I Chapter-1
Raj vardhan
 
PDF
DBMS_UNIT_1.pdf
Koteswari Kasireddy
 
PPT
Bsc cs ii-dbms- u-i-database systems
Rai University
 
PPTX
Chapter-1 Introduction to Database Management Systems
Kunal Anand
 
PPT
Mca ii-dbms- u-i-introductory concepts of dbms
Rai University
 
PPTX
DBMS_Chapter1_Introduction_to_database.pptx
shruthis866876
 
PPTX
Introduction DBMS.pptx
ShivareddyGangam
 
PPT
ch01-Introduction Databases and Database Users.ppt
jacobdiriba
 
PPT
Ch01-Introduction Databases and Database Users.ppt
fermanrw
 
PPT
Dbms
sevtap87
 
PPTX
Intoduction- Database Management System
Dr. Jasmine Beulah Gnanadurai
 
PPTX
DBMS-INTRODUCTION.pptx
DivyaKS12
 
PPT
chapter 01 introduction to Database.ppt
NuurAxmed2
 
PPTX
CST204 DBMSMODULE1 PPT (1).pptx
MEGHANA508383
 
PPT
introduction to database systems Chapter01.ppt
KelemAlebachew
 
PPT
Database Concepts.ppt
DrSharadChaturvediPr
 
PPTX
Introduction to DBMS.pptx
Sreenivas R
 
Chapter 1 - testing
jlope438
 
Introduction to DBMS.pptx
ChandanHegde13
 
DATABASE MANAGEMENT SYSTEM UNIT-I Chapter-1
Raj vardhan
 
DBMS_UNIT_1.pdf
Koteswari Kasireddy
 
Bsc cs ii-dbms- u-i-database systems
Rai University
 
Chapter-1 Introduction to Database Management Systems
Kunal Anand
 
Mca ii-dbms- u-i-introductory concepts of dbms
Rai University
 
DBMS_Chapter1_Introduction_to_database.pptx
shruthis866876
 
Introduction DBMS.pptx
ShivareddyGangam
 
ch01-Introduction Databases and Database Users.ppt
jacobdiriba
 
Ch01-Introduction Databases and Database Users.ppt
fermanrw
 
Dbms
sevtap87
 
Intoduction- Database Management System
Dr. Jasmine Beulah Gnanadurai
 
DBMS-INTRODUCTION.pptx
DivyaKS12
 
chapter 01 introduction to Database.ppt
NuurAxmed2
 
CST204 DBMSMODULE1 PPT (1).pptx
MEGHANA508383
 
introduction to database systems Chapter01.ppt
KelemAlebachew
 
Database Concepts.ppt
DrSharadChaturvediPr
 
Introduction to DBMS.pptx
Sreenivas R
 

More from HajarMeseehYaseen (8)

PPT
Database Management System Processing.ppt
HajarMeseehYaseen
 
PPT
Introduction to the Database systems.ppt
HajarMeseehYaseen
 
PPTX
Normalization in Relational Data Model.pptx
HajarMeseehYaseen
 
PPT
Functional Dependency for Relational Database.ppt
HajarMeseehYaseen
 
PPT
Standard Query Language (SQL), Single Row Function.ppt
HajarMeseehYaseen
 
PPT
The Basic of Standard Query Language Statements.ppt
HajarMeseehYaseen
 
PPT
Introduction to Standard Query Language.ppt
HajarMeseehYaseen
 
PPTX
How to Install Oracle 12c on Windows Operating System Computer.pptx
HajarMeseehYaseen
 
Database Management System Processing.ppt
HajarMeseehYaseen
 
Introduction to the Database systems.ppt
HajarMeseehYaseen
 
Normalization in Relational Data Model.pptx
HajarMeseehYaseen
 
Functional Dependency for Relational Database.ppt
HajarMeseehYaseen
 
Standard Query Language (SQL), Single Row Function.ppt
HajarMeseehYaseen
 
The Basic of Standard Query Language Statements.ppt
HajarMeseehYaseen
 
Introduction to Standard Query Language.ppt
HajarMeseehYaseen
 
How to Install Oracle 12c on Windows Operating System Computer.pptx
HajarMeseehYaseen
 
Ad

Recently uploaded (20)

PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PPT
tuberculosiship-2106031cyyfuftufufufivifviviv
AkshaiRam
 
PPTX
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
PDF
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
PPTX
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
PPTX
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
PDF
Data Retrieval and Preparation Business Analytics.pdf
kayserrakib80
 
PPTX
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
PPTX
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
PDF
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PPT
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PDF
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
PPTX
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
PPT
AI Future trends and opportunities_oct7v1.ppt
SHIKHAKMEHTA
 
PDF
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
PPTX
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
tuberculosiship-2106031cyyfuftufufufivifviviv
AkshaiRam
 
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
Data Retrieval and Preparation Business Analytics.pdf
kayserrakib80
 
apidays Singapore 2025 - Designing for Change, Julie Schiller (Google)
apidays
 
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays
 
AI Future trends and opportunities_oct7v1.ppt
SHIKHAKMEHTA
 
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
Ad

Introduction to Database and database users.pptx

  • 2. Outlines : • Types of database & database applications. • Basic definitions. • Typical DBMS functionality. • An example for database. • Main characteristics of the database approach. • Database users.
  • 4. Introduction Databases and database systems are an essential component of life in modern society. There are two types of database applications: Traditional database applications: • Bank system. • Hotel or airline reservation. • Library. • Online shopping. • Supermarket. Modern database applications: • Geographic information systems (GIS). • Data warehouses and online analytical processing (OLAP).
  • 5. What is a database ? • Database is a collection of related data. • Data means known facts that can be recorded and that have implicit meaning. For example, consider the names, telephone numbers, and addresses of the people you know. • A database represents some aspect of the real world, sometimes called the miniworld. Changes to the miniworld are reflected in the database. • A database can be of any size and complexity
  • 6. What is a DBMS ? A database management system (DBMS) is a collection of programs that enables users to create and maintain a database. The DBMS is a general-purpose software system that facilitates the processes of defining, constructing, manipulating, and sharing databases among various users and applications. The DBMS typical functionalities are: 1. Defining 2. Constructing 3. Manipulating 4. Sharing 5. Protection 6. Maintain
  • 7. Types of databases A DBMS can support many different types of databases. Databases can be classified according to the: Number of users: Single user database / multiuser database Database location(s): Centralized database / distributed database Expected type and extent of use: Operational database / data warehouse
  • 8. A Simplified Database System Environment Figure 1
  • 10. An Example Examples of querying (retrieving): • Retrieve the transcript—a list of all courses and grades—of ‘Smith’ • 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. Examples of updates include the following: • Change the class of ‘Smith’ to 2 • 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
  • 11. Characteristics of the Database Approach  A number of characteristics distinguish the database approach from the much older approach of programming with files. In traditional file processing, each user defines and implements the files needed for a specific software application as part of programming the application. In the database approach, a single repository maintains data that is defined once and then accessed by various users.  In file systems, each application is free to name data elements independently. In contrast, in a database, the names or labels of data are defined once, and used repeatedly by queries, transactions, and
  • 12. Characteristics of the Database Approach 1. Self-Describing Nature of a Database System Database system contains not only the database itself but also a complete definition or description of the database structure and constraints. This definition is stored in the DBMS catalog (meta- data).
  • 13. Characteristics of the Database Approach Figure 3
  • 14. Characteristics of the Database Approach 2. Insulation between Programs and Data, and Data Abstraction In traditional file processing, the structure of data files is embedded in the application programs, so any changes to the structure of a file may require changing all programs that access that file. By contrast, DBMS access programs do not require such changes in most cases. The structure of data files is stored in the DBMS catalog separately from the access programs. We call this property program-data independence.
  • 15. Characteristics of the Database Approach Figure 4
  • 16. Characteristics of the Database Approach 3. Support of Multiple Views of the Data A database typically has many users, each of whom may require a different perspective or view of the database. For example, one user of the database of Figure 2 may be interested only in accessing and printing the transcript of each student; the view for this user is shown in Figure 5(a). A second user, who is interested only in checking that students have taken all the prerequisites of each course for which they register, may require the view shown in Figure 5(b).
  • 17. Characteristics of the Database Approach
  • 18. Characteristics of the Database Approach 4. Sharing of Data and Multiuser Transaction Processing A multiuser DBMS, as its name implies, must allow multiple users to access the database at the same time.
  • 19. Database users There are two types of people who dealing with database: 1. People whose jobs involve the day-to-day use of a large database; we call them the actors on the scene. 2. People who may be called workers behind the scene those who work to maintain the database system environment but who are not actively interested in the database contents as part of their daily job.
  • 20. Actors on the scene 1. Database Administrators: Database administrator (DBA). The DBA is responsible for:  Authorizing access to the database, coordinating and monitoring its use.  Acquiring software and hardware resources as needed.  The DBA is accountable for problems such as security breaches and poor system response time. In large organizations, the DBA is assisted by a staff that carries out these functions.
  • 21. Actors on the scene 2. Database Designers: Database designers are responsible for:  Identifying the data to be stored in the database and for choosing appropriate structures to represent and store this data.  Communicate with all prospective database users in order to understand their requirements and to create a design that meets these requirements.
  • 22. Actors on the scene 3. End Users: End users are the people whose jobs require access to the database for querying, updating, and generating reports; the database primarily exists for their use. There are several categories of end users:  Casual end users  Naive or parametric end users  Sophisticated end users  Standalone users
  • 23. Actors on the scene 4. System Analysts and Application Programmers (Software Engineers) System analysts determine the requirements of end users, especially naive and parametric end users, and develop specifications for standard canned transactions that meet these requirements. Application programmers implement these specifications as programs; then they test, debug, document, and maintain these canned transactions.
  • 24. Workers behind the scene In addition to those who design, use, and administer a database, others are associated with the design, development, and operation of the DBMS software and system environment. These persons are typically not interested in the database content itself. We call them the workers behind the scene, and they include the following categories:  DBMS system designers and implementers.  Tool developers.  Operators and maintenance personnel (system administration personnel) are responsible for the actual running and maintenance of the hardware and software environment for the database system.
  • 26. Advantages of Using the DBMS Approach 1. Controlling Redundancy.  Data Normalization  Controlled Redundancy 2. Restricting Unauthorized Access 3. Providing Persistent Storage for Program Objects  object-oriented database systems 4. Providing Storage Structures and Search Techniques for Efficient Query Processing 5. Providing Backup and Recovery 6. Providing Multiple User Interfaces
  • 27. Advantages of Using the DBMS Approach 7. Representing Complex Relationships among Data 8. Enforcing Integrity Constraints 9. Permitting Inferencing and Actions Using Rules
  • 29. Advantages of Using the DBMS Approach Figure 6: Redundancy
  • 30. Advantages of Using the DBMS Approach DBA Parametric users Financial team Database • Make user accounts • Assigning privileges • Access database • access the database only through the predefined canned transactions • Accessing financial data only
  • 31. Advantages of Using the DBMS Approach Figure 7 Relationship s
  • 32. Historical development of database technology 1. Hierarchical Databases A kind of database management system that links records together like a family tree such that each record type has only one owner, e.g. an order is owned by only one customer. Hierarchical structures were widely used in the first mainframe database management systems. However, due to their restrictions, they often cannot be used to relate structures that exist in the real world.
  • 33. Historical development of database technology ORDER_HEADER CUSTOMER PRODUCT Figure 8
  • 34. Historical development of database technology Product_NO Customer_ID 10 113 30 204 Address Name Customer_I D Duhok Ahmad 113 Zakho Ali 204 Description Product_NO TV 10 Phone 30
  • 35. Historical development of database technology 2. Relational Databases Relational databases were originally proposed to separate the physical storage of data from its conceptual representation and to provide a mathematical foundation for data representation and querying. The relational data model also introduced high-level query languages that provided an alternative to programming language interfaces, making it much faster to write new queries. Relational systems were initially targeted to the same applications as earlier systems, and provided flexibility to develop new queries quickly and to reorganize the database as requirements changed. Hence, data abstraction and program-data
  • 36. Historical development of database technology 3. Object-Oriented Databases The emergence of object-oriented programming languages in the 1980s and the need to store and share complex, structured objects led to the development of object-oriented databases (OODBs). Initially, OODBs were considered a competitor to relational databases, since they provided more general data structures. They also incorporated many of the useful object-oriented paradigms, such as abstract data types, encapsulation of operations, inheritance, and object identity.
  • 37. When Not to Use a DBMS The overhead costs of using a DBMS are due to the following: ■ High initial investment in hardware, software, and training ■ The generality that a DBMS provides for defining and processing data ■ Overhead for providing security, concurrency control, recovery, and integrity functions
  • 38. When Not to Use a DBMS It may be more desirable to use regular files under the following circumstances: ■ Simple, well-defined database applications that are not expected to change at all ■ Stringent, real-time requirements for some application programs that may not be met because of DBMS overhead. ■ Embedded systems with limited storage capacity, where a general-purpose DBMS would not fit ■ No multiple-user access to data

Editor's Notes

  • #3: Imagine trying to operate a business without knowing who your customers are, what products you are selling, who is working for you, who owes you money, and whom you owe money. All businesses have to keep this type of data and much more; and just as importantly, they must have those data available to decision makers when they need them. It can be argued that the ultimate purpose of all business information systems is to help businesses use information as an organizational resource. At the heart of all of these systems are the collection, storage, aggregation, manipulation, dissemination, and management of data. Depending on the type of information system and the characteristics of the business, these data could vary from a few megabytes on just one or two topics to terabytes covering hundreds of topics within the business’s internal and external environment. Telecommunications companies such as Sprint and AT&T are known to have systems that keep data on trillions of phone calls, with new data being added to the system at speeds up to 70,000 calls per second!1 Not only do these companies have to store and manage these immense collections of data, they have to be able to find any given fact in that data quickly. Consider the case of Internet search staple Google. While Google is reluctant to disclose many details about its data storage specifications, it is estimated that the company responds to over 91 million searches per day across a collection of data that is several terabytes in size. Impressively, the results of these searches are available nearly instantly.
  • #5: A database can be of any size and complexity. For example, the list of names and addresses referred to earlier may consist of only a few hundred records, each with a simple structure. On the other hand, the computerized catalog of a large library may contain half a million entries organized under different categories—by primary author’s last name, by subject, by book title—with each category organized alphabetically.
  • #6: 1. Defining a database involves specifying the data types, structures, and constraints of the data to be stored in the database. 2. Constructing the database is the process of storing the data on some storage medium that is controlled by the DBMS. 3. Manipulating a database includes functions such as querying the database to retrieve specific data, updating the database to reflect changes in the miniworld, and generating reports from the data. 4. Sharing a database allows multiple users and programs to access the database simultaneously. 5. Protection includes system protection against hardware or software malfunction (or crashes) and security protection against unauthorized or malicious access 6. Maintain the database system by allowing the system to evolve as requirements change over time.
  • #9: Let us consider a simple example that most readers may be familiar with: a UNIVERSITY database for maintaining information concerning students, courses, and grades in a university environment. Next figure shows the database structure and a few sample data for such a database. The database is organized as five files, each of which stores data records of the same type. The STUDENT file stores data on each student, the COURSE file stores data on each course, the SECTION file stores data on each section of a course, the GRADE_REPORT file stores the grades that students receive in the various sections they have completed, and the PREREQUISITE file stores the prerequisites of each course. To define this database, we must specify the structure of the records of each file by specifying the different types of data elements to be stored in each record. In the next figure, each STUDENT record includes data to represent the student’s Name, Student_number, Class (such as freshman or ‘1’, sophomore or ‘2’, and so forth), and Major (such as mathematics or ‘MATH’ and computer science or ‘CS’); each COURSE record includes data to represent the Course_name, Course_number, Credit_hours, and Department (the department that offers the course); and so on. We must also specify a data type for each data element within a record. For example, we can specify that Name of STUDENT is a string of alphabetic characters, Student_number of STUDENT is an integer, and Grade of GRADE_REPORT is a single character from the set {‘A’, ‘B’, ‘C’, ‘D’, ‘F’, ‘I’}.We may also use a coding scheme to represent the values of a data item. For example, in the next figure we represent the Class of a STUDENT as 1 for freshman, 2 for sophomore, 3 for junior, 4 for senior, and 5 for graduate student. To construct the UNIVERSITY database, we store data to represent each student, course, section, grade report, and prerequisite as a record in the appropriate file. Notice that records in the various files may be related. For example, the record for Smith in the STUDENT file is related to two records in the GRADE_REPORT file that specify Smith’s grades in two sections. Similarly, each record in the PREREQUISITE file relates two course records: one representing the course and the other representing the prerequisite. Most medium-size and large databases include many types of records and have many relationships among the records.
  • #11: For example, one user, the grade reporting office, may keep files on students and their grades. Programs to print a student’s transcript and to enter new grades are implemented as part of the application. A second user, the accounting office, may keep track of students’ fees and their payments. Although both users are interested in data about students, each user maintains separate files and programs to manipulate these files—because each requires some data not available from the other user’s files. This redundancy in defining and storing data results in wasted storage space and in redundant efforts to maintain common up-to-date data.
  • #13: In traditional file processing, data definition is typically part of the application programs themselves. Hence, these programs are constrained to work with only one specific database, whose structure is declared in the application programs. For example, an application program written in C++ may have struct or class declarations, and a COBOL program has data division statements to define its files. Whereas file-processing software can access only specific databases, DBMS software can access diverse databases by extracting the database definitions from the catalog and using these definitions. For the example shown in Figure 2, the DBMS catalog will store the definitions of all the files shown. Figure 3 shows some sample entries in a database catalog. These definitions are specified by the database designer prior to creating the actual database and are stored in the catalog. Whenever a request is made to access, say, the Name of a STUDENT record, the DBMS software refers to the catalog to determine the structure of the STUDENT file and the position and size of the Name data item within a STUDENT record.
  • #14: For example, a file access program may be written in such a way that it can access only STUDENT records of the structure shown in Figure 4. If we want to add another piece of data to each STUDENT record, say the Birth_date, such a program will no longer work and must be changed. By contrast, in a DBMS environment, we only need to change the description of STUDENT records in the catalog (Figure 3) to reflect the inclusion of the new data item Birth_date; no programs are changed. The next time a DBMS program refers to the catalog, the new structure of STUDENT records will be accessed and used.
  • #18: This is essential if data for multiple applications is to be integrated and maintained in a single database. The DBMS must include concurrency control software to ensure that several users trying to update the same data do so in a controlled manner so that the result of the updates is correct. For example, when several reservation agents try to assign a seat on an airline flight, the DBMS should ensure that each seat can be accessed by only one agent at a time for assignment to a passenger. These types of applications are generally called online transaction processing (OLTP) applications. A fundamental role of multiuser DBMS software is to ensure that concurrent transactions operate correctly and efficiently. The concept of a transaction has become central to many database applications. A transaction is an executing program or process that includes one or more database accesses, such as reading or updating of database records. Each transaction is supposed to execute a logically correct database access if executed in its entirety without interference from other transactions.
  • #24: Tool developers design and implement tools—the software packages that facilitate database modeling and design, database system design, and improved performance. Tools are optional packages that are often purchased separately. They include packages for database design, performance monitoring, natural language or graphical interfaces, prototyping, simulation, and test data generation. In many cases, independent software vendors develop and market these tools. Operators and maintenance personnel (system administration personnel) are responsible for the actual running and maintenance of the hardware and software environment for the database system. Although these categories of workers behind the scene are instrumental in making the database system available to end users, they typically do not use the database contents for their own purposes.
  • #26: In traditional software development utilizing file processing, every user group maintains its own files for handling its data-processing applications. For example, consider the UNIVERSITY database example, two groups of users might be the course registration personnel and the accounting office. In the traditional approach, each group independently keeps files on students. The accounting office keeps data on registration and related billing information, whereas the registration office keeps track of student courses and grades. Other groups may further duplicate some or all of the same data in their own files. Redundancy problems: Duplication of efforts: there is the need to perform a single logical update—such as entering data on a new student—multiple times: once for each file where student data is recorded. This leads to duplication of effort. Storage space is wasted: when the same data is stored repeatedly, and this problem may be serious for large databases. Files that represent the same data may become inconsistent: This may happen because an update is applied to some of the files but not to others. Even if an update—such as adding a new student—is applied to all the appropriate files, the data concerning the student may still be inconsistent because the updates are applied independently by each user group. For example, one user group may enter a student’s birth date erroneously as ‘JAN-19-1988’, whereas the other user groups may enter the correct value of ‘JAN-29-1988’. In the database approach, the views of different user groups are integrated during database design. Ideally, we should have a database design that stores each logical data item—such as a student’s name or birth date—in only one place in the database. This is known as data normalization, and it ensures consistency and saves storage space. However, in practice, it is sometimes necessary to use controlled redundancy to improve the performance of queries. For example, we may store Student_name and Course_number redundantly in a GRADE_REPORT file (Figure 2(a)) because whenever we retrieve a GRADE_REPORT record, we want to retrieve the student name and course number along with the grade, student number, and section identifier. By placing all the data together, we do not have to search multiple files to collect this data. This is known as denormalization. In such cases, the DBMS should have the capability to control this redundancy in order to prohibit inconsistencies among the files. This may be done by automatically checking that the Student_name–Student_number values in any GRADE_REPORT record in Figure 2(a) match one of the Name–Student_number values of a STUDENT record (Figure 1). Similarly, the Section_identifier–Course_number values in GRADE_REPORT can be checked against SECTION records. Such checks can be specified to the DBMS during database design and automatically enforced by the DBMS whenever the GRADE_REPORT file is updated. Figure 2(b) shows a GRADE_REPORT record that is inconsistent with the STUDENT file in Figure 1; this kind of error may be entered if the redundancy is not controlled. Can you tell which part is inconsistent? 3. Providing Persistent Storage for Program Objects Databases can be used to provide persistent storage for program objects and data structures. This is one of the main reasons for object-oriented database systems. Programming languages typically have complex data structures, such as record types in Pascal or class definitions in C++ or Java. The values of program variables or objects are discarded once a program terminates, unless the programmer explicitly stores them in permanent files, which often involves converting these complex structures into a format suitable for file storage. When the need arises to read this data once more, the programmer must convert from the file format to the program variable or object structure. Object-oriented database systems are compatible with programming languages such as C++ and Java, and the DBMS software automatically performs any necessary conversions.
  • #27: 9. Permitting Inferencing and Actions Using Rules Some database systems provide capabilities for defining deduction rules for inferencing new information from the stored database facts. Such systems are called deductive database systems. For example, there may be complex rules in the miniworld application for determining when a student is on probation. These can be specified declaratively as rules, which when compiled and maintained by the DBMS can determine all students on probation. In a traditional DBMS, an explicit procedural program code would have to be written to support such applications. But if the miniworld rules change, it is generally more convenient to change the declared deduction rules than to recode procedural programs.
  • #28: Let us consider a simple example that most readers may be familiar with: a UNIVERSITY database for maintaining information concerning students, courses, and grades in a university environment. Next figure shows the database structure and a few sample data for such a database. The database is organized as five files, each of which stores data records of the same type. The STUDENT file stores data on each student, the COURSE file stores data on each course, the SECTION file stores data on each section of a course, the GRADE_REPORT file stores the grades that students receive in the various sections they have completed, and the PREREQUISITE file stores the prerequisites of each course. To define this database, we must specify the structure of the records of each file by specifying the different types of data elements to be stored in each record. In the next figure, each STUDENT record includes data to represent the student’s Name, Student_number, Class (such as freshman or ‘1’, sophomore or ‘2’, and so forth), and Major (such as mathematics or ‘MATH’ and computer science or ‘CS’); each COURSE record includes data to represent the Course_name, Course_number, Credit_hours, and Department (the department that offers the course); and so on. We must also specify a data type for each data element within a record. For example, we can specify that Name of STUDENT is a string of alphabetic characters, Student_number of STUDENT is an integer, and Grade of GRADE_REPORT is a single character from the set {‘A’, ‘B’, ‘C’, ‘D’, ‘F’, ‘I’}.We may also use a coding scheme to represent the values of a data item. For example, in the next figure we represent the Class of a STUDENT as 1 for freshman, 2 for sophomore, 3 for junior, 4 for senior, and 5 for graduate student. To construct the UNIVERSITY database, we store data to represent each student, course, section, grade report, and prerequisite as a record in the appropriate file. Notice that records in the various files may be related. For example, the record for Smith in the STUDENT file is related to two records in the GRADE_REPORT file that specify Smith’s grades in two sections. Similarly, each record in the PREREQUISITE file relates two course records: one representing the course and the other representing the prerequisite. Most medium-size and large databases include many types of records and have many relationships among the records.