DBMS Module 1
DBMS Module 1
SYSTEM
Dennis Joseph
E Block- Room:210
Mob: 8688481233
Module 1- Introduction
6 sessions
Topics
What is a database?
Database Management System (DBMS)
Types of DBMS
Data Models (Hierarchical, Network, Relational, Object-
Oriented)
Components of a DBMS
Database
A database is a structured collection of data that is stored
electronically and organized for easy access, management, and
updating.
Databases can store any type of data, including words, numbers,
images, videos, and files.
They can be used to store and manage large amounts of data, and
they can be used to support a wide range of activities, including
data storage, data analysis, and data management.
Before databases- File Systems
File system was an early attempt to computerize the manual
filing system.
A file system is a method for storing and organizing computer
files and the data to make it easy to find and access.
File Systems may use a storage device such as a hard disk or CD‐
ROM.
Charecteristics of File Systems
It is group of files storing data of an organization.
Each file is independent from one another.
Each file contained and processed information for one specific
function like accounting or inventory.
Files are designed by using application programs written in
programming languages such as COBOL, C, C++, etc….
Problems with File systems
Data Security
Data Redundancy
Data Isolation
Program/ Data Dependence
Concurrent Access Anomalies
Data Security
The data is maintained in flat files and is easily accessible and therefore not
secure.
Example : the Customer_Transaction file has details about the total available
balance of all customers. A customer wants information about his/her account
balance.
In a file system it is difficult to give the customer access to only his/her data in the
file.
Thus enforcing security constraints for entire file or for certain data items are
difficult.
Data Redundancy
Often the same information is duplicated in two or more files.
It may lead to inconsistency
Assume the same data is repeated in two or more files. If
change is made to data in one file, it is required that change
be made to the data in the other file as well.
If this is not done, it will lead to multiple different values for
same data field.
Data Isolation
Data isolation means that all the related data is not
available in one file.
Generally, the data scattered in various files, and the
files may be in different formats.
Therefore writing new application programs to retrieve
the appropriate data is difficult.
Program/ Data Dependence
Assume in a banking system, there is need to find out the names
of all customers who live within a particular pin‐code area.
But there is only a program to generate the list of all customers,
there is no option to search and select based on some criteria
like pin-code.
So a new program would have to be developed to get the
required output.
Concurrent Access Anomalies
Many systems allow multiple users to update the data simultaneously. In such
environment, interaction of concurrent updates may result in inconsistent data.
Example: A bank account has a balance of Rs. 6000/‐. If two transactions to
withdraw funds ( Rs 500/‐ and Rs 1000/‐ respectively) are done from this
account at same time.
Ideally, program should read the old balance, reduce amount and write the
result back for each transaction. Concurrent executions may leave the account
in an incorrect state. Such problems are known as concurrent access
anomalies.
In order to remove all the above limitations of the File Based Approach,
a new approach was required that must be more effective. And this is
what is known as the Database approach.
A database is a computer based record keeping system whose over all
purpose is to record and maintain data.
The database is a single, large repository of data, which can be used
simultaneously by many departments and users.
DBMS
DBMS- A database management system is a software that allows
users to define, create and maintain a database and provides
controlled access to the data.
A database management system (DBMS) is basically a collection
of programs that enables users to store, modify, and extract
information from a database as per the requirements.
DBMS is an intermediate layer between programs and the data.
Programs access the DBMS, which then accesses the data.
DBMS
DBMS-Advantages/Disadvantages
Types of DBMS
Hierarchical
Network
Relational
Object-Oriented
Hierarchical DBMS
In hierarchical databases, data is arranged in a tree-like format
where we have a parent-child relationship between nodes. The
parent can have many children but children contain only one parent.
Hierarchical databases are efficient for retrieving data because all
paths are predefined. They are also good for accessing, updating,
and querying data.
Hierarchical databases may not be well suited for complex data
structures or large-scale applications. They may also have scalability
issues as the database grows.
Hierarchical DBMS
Network DBMS
The network database model has various nodes and these nodes
are connected with each other.
These models are complex in nature.
This model allows multiple parents for a single child node so we can
create more complicated structures with it.
Network DBMS
Relational DBMS
A relational database management system (RDBMS) is a program that
allows users to create, update, and delete relational databases.
A relational database is a database system that organizes data in a tabular
format, with rows and columns.
The RDBMS is the most popular database system among organizations.
It provides a dependable method of storing and retrieving large amounts of
data while offering a combination of system performance and ease of
implementation.
It's also the basis for modern database systems like MySQL.
Relational DBMS
Object-Oriented DBMS
An object-oriented database management system (OODBMS) is based on the principles of object-oriented
programming. Data is created, modeled, and stored as objects, which are self-contained units that contain
both data and the operations or methods that can be performed on that data.
An OODBMS is especially useful for applications with complex data structures and relationships since this
type of database accommodates a more flexible and dynamic data model than relational databases.
OODBMSs use object-oriented programming concepts like classes, inheritance, polymorphism, and dynamic
binding.
In an ODBMS, the data is managed using an object-oriented programming language or a specialized query
language designed for object-oriented databases. Some of the popular object-oriented database languages
include Smalltalk, Java, and C++.
Object-Oriented DBMS
Data models
All the types of DBMS we saw are based on different data
models. The main four data models are
Hierarchical
Network
Relational
Object-Oriented
Components of a DBMS
Hardware
Software
Data
Procedures
Access Languages
People
Components of a DBMS
Hardware
The hardware refers to the physical parts of the computer and It
also includes various storage devices like hard disks and input-
output devices like monitors, printers etc.
Hardware is the most visible part of any information system: the
equipment such as computers, scanners and printers that are used
to capture data, transform it and present it to the user as output.
The hardware is the actual computer system used for keeping and
accessing the database.
Software
Software is a collection or set of programs or instructions that tell a computer what to do.
The software comprises the entire set of programs, procedures, and routines associated
with the operation of a computer system. A set of instructions that directs a computer’s
hardware to perform a task is called a program, or software program.
It also includes the database software, operating system, network software used to share
the data with other users, and the applications used to access the data.
This software component is capable of understanding the Database Access Language
and converting it into actual database commands to execute or run them on the
database.
Data
The word data covers the collection of facts stored in the database. Because data are the raw
material from which information is generated
Data stored in the database includes structured data, non-structured data, and logical data.
Structured data is highly specific and is stored in a predefined format, whereas unstructured
data is a conglomeration of many varied types of data that are stored in their native formats.
Using a DBMS the database is first constructed, created or defined. After that, the desired
data is stored, accessed, and updated in the created database.
The primary reason behind the introduction of the database management system is to store
and maintain data within the database
Procedures
Procedures refer to general instructions to use a database management system.
This includes procedures to set up and install a DBMS, To login and logout of
DBMS software, manage databases, take backups, generate reports etc.
Procedures can be used for data validation, access control, or to reduce network
traffic between clients and the DBMS servers.
Extensive and complex business logic can be embedded into the subroutine,
thereby offering better performance.
The basic purpose of the procedures is to help guide users in the operation and
management of database systems.
Access Languages
Database Access Language is a simple language that allows users to write commands to
perform the desired operations on the data that is stored in the database.
Database Access Language is a language used to write commands to access, insert, and
delete data stored in a database.
Users can write commands or query the database using Database Access Language before
submitting them to the database for execution.
Through utilizing the language, users can create new databases, tables, insert data, and
delete data.
Examples of database languages are SQL(structured query language), My Access, Oracle,
etc.
People
The people who control and manage the databases and perform different types of
operations on the database in the DBMS.
The people include database administrators, software developers and End-users.
Database administrator (DBA) is the one who manages the complete database
management system. DBA takes care of the security of the DBMS, its availability,
managing the license keys, managing user accounts and access, etc.
Software developers are involved in developing and designing the parts of DBMs. They
take care of handling massive quantities of data, modifying and editing databases,
designing and developing new databases and troubleshooting database issues.
End users are the ones who stores, retrieve, update and delete data. These days all
modern applications, web or mobile, store user data.