Fundamentals of Database System Course
Lecture#1
Introduction: Databases and
Database Users
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
Basic Definitions
Data:
Known facts that can be recorded and have an implicit meaning.
Database:
A collection of related data. It has the following implicit properties:
A database represents some aspect of the real world, sometimes
called the miniworld.
A database is a logically coherent collection of data with some
inherent meaning.
A database is designed, built, and populated with data for specific
purpose.
Examples: Airline reservation system, Students’ registration system
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 © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 2
Managing Data
There are two approaches to manage data
File-based approach: An approach that utilizes a
collection of application programs which performs
services to end-users (e.g. Reports). Each
program defines and manages its own data.
Database approach: An approach that data is
collected and manipulated using specific software
called Database Management System, and many
programs share this data.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 3
File-Based Approach
User 1 Application
programs Data
Application Data
User 2 programs
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 4
Database Approach
User 1 Application
programs
DBMS
Database
User 2 Application
programs
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 5
Databases Everywhere
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 6
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
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Database Implementation
Defining a database
Data types
Structures
Constraints
Constructing a database
Storing the data itself on a storage medium
Manipulating a database
Querying
Updating
Generating reports
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Simplified database system environment
Copyright © 2007 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 © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 10
Typical DBMS Functionality
Other features:
Protection or Security measures to prevent
unauthorized access
Maintaining the database and associated programs
over the lifetime of the database application
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 11
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)
DEPARTMENTs
INSTRUCTORs
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 12
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
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 13
Example
User 1 of a simple database
Application
programs
DBMS
Database
User 2 Application
programs
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 14
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.
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 © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 15
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.
Similarly, each failed transaction is rolled back.
OLTP (Online Transaction Processing) is a major part of
database applications. This allows hundreds of concurrent
transactions to execute per second.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 16
Database Users
Actors on the Scene: They actually use and
control the database content; and design,
develop and maintain database applications
Database Administrators
Database Designers
Software Engineers
End-users
Workers Behind the Scene
Those who design and develop the DBMS
software and related tools.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 17
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.
End-users:
Are those who require access to the database for querying,
updating, and generating reports.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 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
Providing Storage Structures (e.g. indexes) for
efficient Query Processing
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 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.
Permitting actions using active rules
triggers, stored procedures
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 20
Additional Implications of Using the
Database Approach
Potential for enforcing standards:
for data item names, display formats, screens, report
structures, Web page layouts, etc.
Reduced application development time
Flexibility to change data structures:
When requirements change
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.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 21
When not to use a DBMS
Main inhibitors (costs) of using a DBMS:
High initial investment and possible need for additional hardware.
Overhead for providing generality, security, concurrency control,
recovery, and integrity functions.
When a DBMS may be unnecessary:
If the database and applications are simple, well defined, and not
expected to change.
If there are real-time requirements that may not be met because of
DBMS overhead.
If access to data by multiple users is not required
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.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 22