Copyright © 2017 Ramez Elmasri and Shamkant B.
Navathe
CHAPTER 1
Databases and Database Users
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 2
OUTLINE
Types of Databases and Database Applications
Basic Definitions
Typical DBMS Functionality
Example of a Database (UNIVERSITY)
Main Characteristics of the Database Approach
Types of Database Users
Advantages of Using the Database Approach
Historical Development of Database Technology
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 3
Types of Databases and Database
Applications
Traditional Applications:
Numeric and Textual Databases (banks, universities, stores, airlines, hospitals,
..)
More Recent Applications:
Multimedia Databases (images, video streams, audio clips)
Geographic Information Systems (GIS) (store and analyze maps, weather
data, and satellite images)
Data Warehouses (extract and analyze useful business information from very
large databases to support decision making.)
Mobile databases
Real-time and Active Databases. (control industrial and manufacturing
processes)
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 4
Recent Developments (1)
Social Networks started capturing a lot of information about people
and about communications among people-posts, tweets, photos,
videos in systems such as:
- Facebook
- Twitter
- Linked-In
All of the above constitutes data
Search Engines- Google, Bing, Yahoo : collect their own repository of
web pages for searching purposes
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 5
Recent Developments (2)
New Technologies are emerging from the so-called non-database
software vendors to manage vast amounts of data generated on the
web:
Big Data storage systems involving large clusters of distributed
computers (Chapter 25)
NOSQL (Not Only SQL) systems (Chapter 24)
A large amount of data now resides on the “cloud” which means it is
in huge data centers using thousands of machines.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 6
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 7
Impact of Databases and Database
Technology
Businesses: Banking, Insurance, Retail, Transportation, Healthcare,
Manufacturing
Service Industries: Financial, Real-estate, Legal, Electronic
Commerce, Small businesses
Education : Resources for content and Delivery
More recently: Social Networks, Environmental and Scientific
Applications, Medicine and Genetics
Personalized Applications: based on smart mobile devices
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 8
Simplified database system environment
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 9
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
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 10
Application Activities Against a
Database
Applications interact with a database by generating
- Queries: that access different parts of data and formulate the result
of a request
- Transactions: that may read some data and “update” certain values
or generate new data and store that in the database
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 11
Additional DBMS Functionality
DBMS may additionally provide:
Protection or Security measures to prevent
unauthorized access
Protection includes system protection against
hardware or software malfunction (or crashes)
Maintenance of the database and associated programs
over the lifetime of the database application
allowing the system to evolve as requirements change over
time.ce
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 12
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
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 13
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
Note: The above entities and relationships are typically expressed in
a conceptual data model, such as the ENTITY-RELATIONSHIP data
model (see Chapters 3, 4)
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 14
Example of a simple database
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 15
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.
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.
Insulation between programs and data:
Called program-data independence.
Allows changing data structures and storage organization without having to
change the DBMS access programs.
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 16
Example of a simplified database catalog
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 17
Main Characteristics of the Database
Approach (continued)
Data Abstraction:
The characteristic that allows program-data independence is called
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 18
Main Characteristics of the Database
Approach (continued)
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 19
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 20
Advantages of Using the Database
Approach
Controlling redundancy in data storage and in development and
maintenance efforts.
Normalization
Restricting unauthorized access to data. Only the DBA staff uses privileged
commands and facilities.
Providing Storage Structures (e.g. indexes) for efficient Query Processing – see
Chapter 17.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 21
Advantages of Using the Database
Approach (continued)
Providing optimization of queries for efficient processing.
Providing backup and recovery services.
Providing multiple interfaces to different classes of users.
Representing complex relationships among data.
Enforcing integrity constraints on the database. (referential integrity
constraints, keys, business rules..)
Reduced application development time:
Incremental time to add each new application is reduced.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 22
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 shopping,
airline, hotel, car reservations.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 23
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”).
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 24
Database Users – Actors on the
Scene
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 25
Database 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.
Users of Mobile Apps mostly fall in this category
Bank-tellers or reservation clerks are parametric users who do this
activity for an entire shift of operations.
Social Media Users post and read information from websites
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 26
Database 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 the user of a tax program that creates its own
internal database.
Another example is a user that maintains a database of personal
photos and videos.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 27
Database Users – Actors on the
Scene (continued)
System Analysts and Application Developers
This category currently accounts for a very large proportion of the IT
work force.
System Analysts: They understand the user requirements of
naïve and sophisticated users and design applications including
canned transactions to meet those requirements.
Application Programmers: Implement the specifications
developed by analysts and test and debug them before
deployment.
Business Analysts: There is an increasing need for such
people who can analyze vast amounts of business data and real-
time data (“Big Data”) for better decision making related to
planning, advertising, marketing etc.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 28
Database Users – Actors behind the
Scene
System Designers and Implementers: Design and implement
DBMS packages in the form of modules and interfaces and test and
debug them. The DBMS must interface with applications, language
compilers, operating system components, etc.
Tool Developers: Design and implement software systems called
tools for modeling and designing databases, performance monitoring,
prototyping, test data generation, user interface creation, simulation
etc. that facilitate building of applications and allow using database
effectively.
Operators and Maintenance Personnel: They manage the
actual running and maintenance of the database system hardware
and software environment.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 29
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 using IBM’s IMS system.
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.
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 30
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)
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 31
Historical Development of Database
Technology (continued)
E-commerce Applications:
Starting in the 1990s, electronic commerce (e-commerce) emerged as a major
application on the Web. Much of the critical information on e-commerce Web pages is
dynamically extracted data from DBs, such as flight information, product prices, and
product availability. A variety of techniques were developed to allow the interchange
of dynamically extracted data on the Web for display on Web pages. The eXtended
Markup Language (XML) is one standard for interchanging data among various types
of databases and Web pages. XML combines concepts from the models used in
document systems with database modeling concepts.
Extending Database Capabilities for New Applications
Scientific applications that store large amounts of data resulting from scientific
experiments in areas such as high-energy physics, the mapping of the human
genome, and the discovery of protein structures
Storage and retrieval of images, including scanned news or personal photographs,
satellite photographic images, and images from medical procedures such as x-rays
and MRI (magnetic resonance imaging) tests
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 32
Historical Development of Database
Technology (continued)
Emergence of Big Data Storage Systems and NOSQL Databases
In the first decade of the twenty-first century, the proliferation of applications and
platforms such as social media Web sites, large e-commerce companies, Web
search indexes, and cloud storage/backup led to a surge in the amount of data
stored on large databases and massive servers.
New types of database systems were necessary to manage these huge databases
—systems that would provide fast search and retrieval as well as reliable and safe
storage of nontraditional types of data, such as social media posts and tweets.
Some of the requirements of these new systems were not compatible with SQL
relational DBMSs
The term NOSQL is generally interpreted as Not Only SQL, meaning that in
systems than manage large amounts of data, some of the data is stored using SQL
systems, whereas other data would be stored using NOSQL, depending on the
application requirements. (example: MongoDB)
Copyright © 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1- 33