DATABASE MANAGEMENT
SYSTEM
III SEMESTER
Learning Objectives
At the end of this chapter you will be able to know about:
Database
Properties
Types of Database
DBMS
Purpose of DBMS
Functionalities of DBMS
Data - Facts that can be recorded.
Example: texts, numbers, alphanumeric, audio, video,
image.
Information – Processed Material which has some meaning.
Example : The average score of a class is information
derived from the given data.
Database
Database is a collection of related data.
Example: A company database may include tables for
products, employees, financial records.
Database Properties
It represents some aspects of the real world, called
mini world. Changes to the mini world are reflected in
the database.
It is a logically coherent collection of data.
It has a purpose: there is an intended group of users.
What is DBMS
A Database Management System (DBMS) is a collection
of programs enabling users to create and maintain a
database.
Some DBMS examples include MySQL, PostgreSQL,
Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS,
dBASE, Clipper, and FoxPro.
Why do we need DBMS
A database management system is
important because it manages data efficiently
and allows users to perform multiple tasks with
ease.
A database management system stores,
organizes and manages a large amount of
information within a single software application
A database together with the DBMS software is
referred to as a Database System.
Database + DBMS =DBS
Typical DBMS Functionalities
Defining
Constructing
Manipulating
Sharing
Other Functionalities
Protection or Security
Presentation and Visualization of Data
Database Defintion
Defining Database?
Specifying the data types,
structures and constraints of the
data to be stored in the
database.
Database Construction
Database Construction?
Constructing the database is
the process of storing the data
on some storage device.
Database Manipulation
Database Manipulation?
Manipulating a database includes
functions such as querying the
database , updating the data etc.
Database Sharing
Database Sharing?
Sharing a database allows multiple
users and programs to access the
database simultaneously.
DATABASE MANAGEMENT
SYSTEM
Simplified Database System Environment
Users/Programmers
Database
System
Application Programs / Queries
DBMS
Software Software to Process
Queries / Programs
Software to Access Stored Data
Stored Database
Definition (meta Stored Database
- Data)
Characteristics of the Database
Approach
Self Describing Nature of a Database System
Insulation between Programs and Data, and Data Abstraction
Support of Multiple Views of the Data
Sharing of Data and Multiuser Transaction Processing
Self Describing Nature of a Database
System
A fundamental characteristic of the Database approach is
that the Database System contains not only the database
itself but also a complete definition or description of the
database structure and constraints.
The information stored in the catalog is called is called as
meta-data, describes the structure of the primary
database.
Course Name Course No Credit Department
Data Structures BcaII201 4 BCA
Discrete Math101 5 Math
Mathematics
Table: Course
An Example of a Database Catalog
RELATIONS
Relation_name No_of_columns
STUDENT 5
COURSE 4
SECTION 4
COLUMNS
Col_name Data_type Belongs_to_relati
on
FirstName CHAR(30) STUDENT
Email CHAR(30) STUDENT
YearofBirth INTEGER(4) STUDENT
COURSENO CHAR(5) COURSE
Example of Meta Data
Insulation between Programs and Data,
and Data Abstraction
In file system if some changes are made in the file structure,
then to handle these changes, more changes have to be made in
all the programs that access this file.
For example: If you want to add a piece of data, say date of
birth of students. Just adding it is not enough, the whole
program will have to be re-written to make it work.
But in a Database system all you need to do is define another
data item in the catalog called date of birth and all the changes
will be reflected and there is no need to change the whole
program.
Program-data independence refers to the capability
of leaving data intact and accessible regardless of
modifications to the database that contains the data.
Data Abstraction : A data model is used to hide
storage details and present the users with a
conceptual view of the database.
Support of Multiple Views of the Data
A database has multiple users, each user may
need different views or perspectives of the
database.
Database “view” can be the information that is
stored in the database or is derived from the
database.
Example: student table contains six fields
Student_nam Reg_no Course DOB Contact_no Address
e
Kiran 1101 CSE 11/1/1996 1234567890 Hubli
Anita 1305 MECH 27/10/1996 2134324356 Dharwad
Divya 2114 Civil 27/09/1995 9878675435 Belgaum
Query to do this task: select Student_name, Contact_no, Address
from student;
Student_name Contact_no Address
Kiran 1234567890 Hubli
Anita 2134324356 Dharwad
Query: select Student_name, Reg_no from student;
Student_name Reg_no
Kiran 1101
Anita 1305
Divya 2114
Sharing of Data and Multiuser
Transaction Processing
A multiuser DBMS must allow multiple users to
access the database at the same time.
This is essential when single database is maintained
for multiple applications.
The DBMS must include concurrency control, which
is supposed to ensure that the information is correct
when multiple users try to access and update the data.
DATABASE MANAGEMENT
SYSTEM
Introduction Continued…
Users of Database
Users of the database mainly divided into two
categories.
• Actors on the scene
1.
• Workers behind the scene
2.
Actors on the scene
1. Database Administrator (DBA) :
DBA’s are the chief administrators, who oversees and
manages the database system (including the data and
software).
DBA is responsible for following duties:
Authorizing users to access the database.
Coordinating/monitoring database use.
Acquiring hardware/software as needed.
2. Database Designers
They are responsible for identifying the data to be stored.
Responsible for choosing an appropriate way to organize
the data.
They also define views for different categories of users.
The final design must be able to support the requirements
of all the user sub-groups.
3. End Users
These are persons who access the database for querying,
updating, and report generation.
End Users are those who access the database from the
front end. They use the developed applications & they
don’t have any knowledge about the design & working
of Database.
Their main aim is to get their task done.
There are several categories of end users:
Casual end users
Naive/Parametric end users
Sophisticated end users
Stand-alone users
Casual User
Occasionally access Database.
Need Different information each time.
Naïve User
User who does not have any knowledge
about DB.
Their task is to use the developed
application and get desired output.
Example : Bank Management System,
Library Managemnt System
Sophisticated Users
Have knowledge of query language. So they
use database query language to access
information from DB to meet their
complicated requirements.
Example : Business Analyst, Scientist etc.
Standalone Users
Maintain Personal Database by using ready
made Program packages that provide easy
to use Menu based or graphical based
interfaces.
Example: Financial Software Packages.
4. System Analysts
System Analysts:
Determine needs of end users, especially naive and
parametric users, and develop specifications for canned
transactions that meet these needs.
Determine the requirements of the end user to create a
solution for their business needs
Application Programmers:
Implement, test, document, and maintain programs that
satisfy the specifications mentioned above.
Workers behind the Scene
DBMS System Designers/ implementers :
These are persons who design and implement the
DBMS modules and interfaces as a software package.
Tool Developers :
Design and implement software tools facilitating
database system design, performance monitoring,
creation of graphical user interfaces, prototyping etc.
Operators and maintenance Personnel :
Responsible for day-to-day operation of the system.
Controlling Redundancy
Restricting Unauthorized Access
Providing Persistent Storage for Program Objects
Providing Storage Structures for Efficient Query Processing
Providing Backup and Recovery
Providing Multiple User Interfaces
Representing Complex Relationships among Data
Enforcing Integrity Constraints
Permitting Inferencing and Actions Using Rules
Controlling Redundancy
Data redundancy occurs when same data is
stored multiple times.
Redundancy leads to several problems:
Duplication of effort
Storage space is wasted
Inconsistency
The file based data management systems contained multiple
files that were stored in many different locations in a system
or even across multiple systems. Because of this, there were
sometimes multiple copies of the same file which lead to data
redundancy.
This is prevented in a database as there is a single database
and any change in it is reflected immediately. Because of this,
there is no chance of encountering duplicate data.
Example
Restricting Unauthorized Access
When multiple users share a database, it is likely that some users
will not be authorized to access all information in the database.
For example, account office data is often considered confidential,
and hence only authorized persons are allowed to access such
data.
Some users may only be permitted to retrieve data, whereas
others are allowed to retrieve and update.
A DBMS should provide security and authorization subsystem.
Can you Analyze this
Diagram?
Providing Persistent Storage for
Program Objects
Persistent storage is any data storage device that retains data
after power to that device is shut off. It is also sometimes
referred to as non-volatile storage.
Databases can be used to provide Persistent storage for
program objects and data structures.
Object oriented database systems make it easier for complex
runtime objects and data structure(lists, trees) to be saved in
secondary storage so as to survive beyond program
termination and to be retrieved at a later time.
Providing Storage Structures for
Efficient Query Processing
Database systems must provide capabilities for
efficiently executing queries and updates.
The DBMS maintains indexes(typically in the form
of hash tables) that are utilized to improve the
execution time of queries and updates.
The query processing and optimization module of
the DBMS is responsible for choosing an efficient
query execution plan for each query submitted to
the system.
Basic steps in Query Processing
Parser and Relational Algebra
Query Expression
Translator
Evaluation
Query Optimizer
Engine
Output
Execution Plan
Data Statistics
Providing Backup and
Recovery
Backup : A copy of data that is used to restore the original after a
data loss event occurred.
Recovery : Process of retrieving inaccessible, lost, corrupted,
damaged data to the original state.
DBMS should provide backup facilities to assist with the
recovery of a database failure.
Backup and Recovery refers to the various strategies and
procedures involved in protecting your database against data loss
and reconstructing the database after any kind of data loss.
Providing Multiple User Interfaces
Many types of users with varying levels of technical
knowledge use a database, A DBMS should provide a
variety of user interfaces.
Query languages for casual users.
Programming language interfaces for application
programmers.
Forms and command codes for parametric users.
Menu driven interfaces and natural language interfaces
for stand alone users.
Representing Complex
Relationships among Data
A database may include numerous varieties of
data that are interrelated in many ways.
A DBMS should have the capability to
represent such relationships and to retrieve
related data quickly.
Enforcing Integrity Constraints
Integrity of data means that data in database in always
accurate.
Integrity constraints are enforced on database.
In file system this constraint must be enforced in all the
application separately.
In case of DBMS this integrity constraint is applied only once
on the field.
Example
Let us consider the case of college database
and suppose that college having only Btech,
Mtech, MCA, Msc, BCA, BBA and B com.
But if a user enters the class MS, then incorrect
information must not be stored in database and
must be prompted that this is an invalid entry.
Integrity is to be enforced on the class attribute.
Permitting Inferencing and Actions Using
Rules
In a deductive database system, one may specify
declarative rules that allow the database to infer new
data!
Example : Figure out which students are on academic
probation.
More powerful functionality is provided by active
database systems, which provide active rules that can
automatically initiate actions when certain events and
condition occur.
Difference between DBMS and Flat File
Management System
DBMS Flat File Management System
Multi-user access It does not support multi-user access
Design to fulfill the need for small It is only limited to smaller system.
and large businesses
Remove redundancy and Integrity Redundancy and Integrity issues
Expensive. But in the long term It's cheaper
Total Cost of Ownership is cheap
Easy to implement complicated No support for complicated
transactions transactions
Additional Implications of Using the
Database Approach
Potential for Enforcing Standards
Reduced Application Development Time
Flexibility
Availability of Up-to-Date Information
Economies of Scale
Potential for Enforcing Standards :
This facilitates communication and cooperation among various
departments, projects, and users within the organization.
Standards can be defined for names and formats of data
elements, display formats, report structures, and so on.
Reduced Application Development Time:
A prime selling feature of the database approach is
that developing a new application takes very little
time.
Designing and implementing a new database from
scratch may take more time than writing a single
specialized file application.
Flexibility :
It may be necessary to change the structure of a database as
requirements change.
But modern DBMS allow certain types of evolutionary changes
to the structure of the database without affecting stored data and
the existing application programs
Availability of Up-to-Date Information :
A DBMS makes the database available to all users.
As soon as one user’s update is applied to the database, all other
immediately can see this update.
Economies of Scale :
The DBMS approach permits consolidation of data and
applications, thus reducing the amount of wasteful overlap
between activities of data processing in different projects or
departments as well as redundancy among applications.
This enables whole organization to invest in more powerful
resources rather than having own equipment. This reduces
overall costs of operation and management.
When not use a DBMS?
There are few situations in which such a system may
involve unnecessary overhead costs that would not be
incurred in traditional file processing.
The overhead costs of using a DBMS are due to the
following:
High initial investment and possible need for
additional hardware.
Overhead for providing generality, security,
concurrency control, recovery, and integrity functions.
When DBMS may be unnecessary :
If the database and applications are simple, well
defined, and not expected to change.
If there are stringent real-time requirements that
may not be met because of DBMS overhead.
If access to data by multiple users is not required.
A collection of related data.
a) Information
b) Valuable information
c) Database
d) Metadata
DBMS is software?
a) True
b) False
Which of the following is not involved in DBMS?
a) End Users
b) Data
c) Application Request
d) HTML
The restrictions placed on the data.
a) Relation
b) Attribute
c) Parameter
d) Constraint
DBMS manages the interaction between __________ and
database.
a) Users
b) Clients
c) End Users
d) Stake Holders
The following are components of a database
except ________
a) user data
b) Metadata
c) Reports
d) indexes
An application where only one user accesses the database at a
given time is an example of a(n) ________
a) single-user database application
b) multiuser database application
c) e-commerce database application
d) data mining database application
These users who access the database occasionally but they
need different information each time.
a) Parametric end users
b) Casual end users
c) Sophisticated end users
d) None of these
Thank you…..
Any Queries?
If any Questions ?