0% found this document useful (0 votes)
166 views

Topic 1 Introduction PDF

The document discusses data types, data organization, and the evolution of database models. It defines 10 common data types including integer, character, date, floating point, long, short, string, boolean, null, and void. It also describes different types of data in organizations, including transactional data, master data, reference data, and reporting data. Finally, it outlines the evolution of database models from flat files in the 1960s-1980s to hierarchical and relational databases.

Uploaded by

vibhav thakur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
166 views

Topic 1 Introduction PDF

The document discusses data types, data organization, and the evolution of database models. It defines 10 common data types including integer, character, date, floating point, long, short, string, boolean, null, and void. It also describes different types of data in organizations, including transactional data, master data, reference data, and reporting data. Finally, it outlines the evolution of database models from flat files in the 1960s-1980s to hierarchical and relational databases.

Uploaded by

vibhav thakur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

TOPIC-1

INTRODUCTION TO DATABASES

Data : Types, Organization and Applications , Database : Definition,


Evolution , Database Management : Structure, Limitations of traditional
file processing systems, Advantages and disadvantages of DBMS,
Usersof DBMS

WHAT IS A DATA TYPE?

A data type is an attribute of a piece of data that tells a device how the end-
user might interact with the data. You can also think of them as categorizations
that different coding programs might combine in order to execute certain
functions. Most programming languages including C++ and Java use the same
basic data types.

10 DIFFERENT DATA TYPES

Each programming language uses a different combination of data types. Some


of these types include:

1. Integer
Integer data types often represent whole numbers in programming. An
integer's value moves from one integer to another without acknowledging
fractional numbers in between. The number of digits can vary based on the
device, and some programming languages may allow negative values.

Integers are digits that account for whole numbers only. Some integer
examples include:
425
65
9

2. Character
In coding, alphabet letters denote characters. Programmers might represent
these data types as (CHAR) or (VARGCHAR), and they can be single
characters or a string of letters. Characters are usually fixed-length figures that
default to 1 octet—an 8-bit unit of digital information—but can increase to
65,000 octets.

Characters are letters or other figures that programmers might combine in a


string. Examples of characters include:
a
^
!
3. Date
This data type stores a calendar date with other programming information.
Dates are typically a combination of integers or numerical figures. Since these
are typically integer values, some programs can store basic mathematical
operations like days elapsed since certain events or days away from an
upcoming event.

Programmers can include individual dates, ranges or differences in their code.


Some examples might be:
2009-09-15
1998-11-30 09:45:87
SYSDATETIME ()

4. Floating point (real)


Floating-point data types represent fractional numbers in programming. There
are two main floating-point data types, which vary depending on the number of
allowable values in the string:

Float: A data type that typically allows up to seven points after a decimal.
Double: A data type that allows up to 15 points after a decimal.

Float data types might look like this:


float num1 = 1.45E2
float num2 = 9.34567
Similar but often longer in length, an example of the floating-point double might
be:
double num2 = 1.87358497267482791E+222
double num2 = 3.198728764857268945

The floating-point double type can provide more accurate values, but it also
may require additional memory to process

5. Long
Long data types are often 32- or 64-bit integers in code. Sometimes, these can
represent integers with 20 digits in either direction, positive or negative.
Programmers use an ampersand to indicate the data type is a long variable.

Long data types are whole numbers, both positive and negative, that have
many place values. Examples include:
-398,741,129,664,271
9,000,000,125,356,546

6. Short
Similar to the long data type, a short is a variable integer. Programmers
represent these as whole numbers, and they can be positive or negative.
Sometimes a short data type is a single integer.
Short data types can be up to several integers, but they are always less than
long data. Examples include:
-27,400
5,428
17

7. String
A string data type is a combination of characters that can be either constant or
variable. This often incorporates a sequence of character data types that result
in specific commands depending on the programming language. Strings can
include both upper and lowercase letters, numbers and punctuation.

Strings are a combination of figures that includes letters and punctuation. In


some code, this might look like this:
String a = new String("Open")
String b = new String("The door")
String c = new String("Say Hello!")

8. Boolean
Boolean data is what programmers use to show logic in code. It's typically one
of two values—true or false—intended to clarify conditional statements. These
can be responses to "if/when" scenarios, where code indicates if a user
performs a certain action. When this happens, the Boolean data directs the
program's response, which determines the next code in the sequence.

Boolean data can help guide the logic in a code. Here are some examples of
how you might use this:
bool baseballIsBest = false;
bool footballIsBest = true;
Depending on the program, the code may direct the end-user to different
screens based on their selection.

9. Nothing / Null
The nothing data type shows that a code has no value. This might indicate that
a code is missing, the programmer started the code incorrectly or that there
were values that defy the intended logic. It's also called the "nullable type."

Nothing means a code has no value, but the programmer coded something
other than the digit 0. This is often "Null," "NaN" or "Nothing" in code. An
example of this is:
Dim option = Nothing
Program.WriteWords(x Is Nothing)

10. Void
Similar to the nothing type, the void type contains a value that the code cannot
process. Void data types tell a user that the code can't return a response.
Programmers might use or encounter the void data type in early system testing
when there are no responses programmed yet for future steps.

The void data type in coding functions as an indicator that code might not have
a function or a response yet. This might appear as:
int function_name (void)

TYPES OF DATA IN A BUSINESS/ORGANIZATION

Transactional Data
This type of data describes your core business activities. If you are a trading
company, this may includes the data of your purchasing and selling activities.
If you are a manufacturing company, this will be your production activities data.
If you are a ride-hailing or cab company, this will the trip data. In a very basic
organizational operations, the data related to the activities of hiring and firing
employees can also be classified as transactional data. As a result, this kind of
data has a very huge volume in comparison with the other types and usually
created, stored, and maintained within the operational application such as ERP
system.

Master Data
It consists of key information that make up the transactional data. For example,
the trip data in a cab company may contain driver, passenger, route, and fare
data. The driver, passenger, locations, and basic fare data are the master data.
The driver data may consists the name of the driver and all of the associated
information. So does the passenger data. Together, they make up the
transactional data.
Master data usually contains places (addresses, postal-coded, cities,
countries), parties (customers, suppliers, employees) and things (products,
assets, items, etc.). It is application-specific, meaning that its uses are specific
for the application with business process related to it, e.g: the employees
master data is created, stored, and maintained within the HR application.

Reference Data
Reference data is a subset of master data. It is usually a standardized data that
governed by certain codification (e.g. list of Countries is governed by ISO 3166–
1. There’s an easy way to differentiate reference data from master data. Always
remember that reference data is way less volatile than master data. Let’s back
again to our cab company. Tomorrow, the day after tomorrow, or next week,
the list of driver may change whenever there’s a new person onboard or kicked
out. But the list of countries will remain the same even 2 decades from now,
unless there’s a little land that declare its independence.

Reporting Data
It’s an aggregated data compile for the purpose of analytic and reporting. This
data consist of transactional, master, and reference data. For example: Trip
data (transaction + master) on the 13th day of July in Greater London
region (reference). Reporting data is very strategic and usually being produced
as ingredient of decision making process.

Metadata
It’s a data about data. Sounds confusing? Indeed. It’s the type of data that got
me dizzy in the first time I enter the data management field. Thankfully, this
beautiful picture make it easy for me to comprehend what metadata actually is.

WHAT IS DATA ORGANIZATION?

Data organization is the practice of categorizing and classifying data to make


it more usable. Similar to a file folder, where we keep important documents,
you’ll need to arrange your data in the most logical and orderly fashion, so you
— and anyone else who accesses it — can easily find what they’re looking for.
Data Organization

Flat rectangular files or tabular data is a classical and still often used data
structure which can be read by all statistical and spreadsheet programs.

A common way to structure rectangular files is the wide format columns


represent different variables, while lines represent different observations (e.g.
subjects

Hierarchical files can be employed to avoid redundancies, that occur, when


using rectangular files (see table E in the image above). XML files fulfill this
requirement and allow to save data and metadata in one single file. However,
despite these advantages XML-files are not commonly used in psychology and
statistical software often requires tabular data as input.

Relational data bases organize data of different hierarchical levels in


separate rectangular tables while the different tables are connected through
defined associations. Individual tables can be statistically analyzed or linked to
form new tables. Relational databases can depict complex associations in an
elegant way but they need more administration and knowledge of database
languages (e.g SQL).

EVOLUTION OF DATABASE MODELS

Flat files (1960s – 1980s)

Flat file database is a database that stores information in a single file or table.
In a text file, every line contains one record where fields either have fixed length
or they are separated by commas, whitespaces, tabs or any other character.
In a flat file database, there is no structural relationship among the records and
they cannot contain multiple tables as well.
Advantages:
• Flat file database is best for small databases.
• It is easy to understand and implement. Fewer skills are required to
handle a flat file database.
• Less hardware and software skills are required to maintain a flat file
database.

Disadvantages:
• A flat file may contain fields which duplicate the data as there is no
automation in flat files.
• If one record is to be deleted from the flat file database, then all the
relevant information in different fields has to be deleted manually making
the data manipulation inefficient.
• Flat file database waste the computer space by requiring it to keep the
information on items that are logically cannot be available.
• Information retrieving is very time consuming in a large database.

Implementation of a flat file database


Flat file database is implemented in:
• Berkeley DB
• SQLite
• Mimesis
• TheIntegrationEngineer etc.

Hierarchical database (1970s – 1990s)

As the name indicates, hierarchical database contains data in a hierarchically-


arranged data. More perceptively it can be visualized as a family tree where
there is a parent and a child relationship. Each parent can have many children
but one child can only have one parent i.e.; one-to-many relationship. Its
hierarchical structure contains levels or segments which are equivalent to the
file system’s record type. All attributes of a specific record are listed under the
entity type.

In hierarchical database, the entity type is the main table, rows of a table
represent the records and columns represent the attributes.

Advantages:

In a hierarchical database pace of accessing the information is speedy due to


the predefined paths. This increases the performance of a database.
The relationships among different entities are easy to understand.

Disadvantages:
Hierarchical database model lacks flexibility. If a new relationship is to be
established between two entities then a new and possibly a redundant
database structure has to be build.
Maintenance and of data is inefficient in a hierarchical model. Any change in
the relationships may require manual reorganization of the data.
This model is also inefficient for non-hierarchical accesses.

Network database (1970s – 1990s)

The inventor of network model is Charles Bachmann. Unlike hierarchical


database model, network database allows multiple parent and child
relationships i.e., it maintains many-to-many relationship. Network database is
basically a graph structure. The network database model was created to
achieve three main objectives:

• To represent complex data relationships more effectively.


• To improve the performance of the database.
• To implement a database standard.

In a network database a relationship is referred to as a set. Each set comprises


of two types of records, an owner record which is same as parent type in
hierarchical and a member record which is similar to the child type record in
hierarchical database model.

Advantages:
• The network database model makes the data access quite easy and
proficient as an application can access the owner record and all the
member records within a set.
• This model is conceptually easy to design.
• This model ensures data integrity because no member can exist without
an owner. So the user must make an owner entry and then the member
records.
• The network model also ensures the data independence because the
application works independently of the data.

Disadvantages:
• The model lacks structural independence which means that to bring any
change in the database structure; the application program must also be
modified before accessing the data.
• A user friendly database management system cannot be established via
network model.

Implementation of network database


Network database is implemented in:
• Digital Equipment Corporation DBMS-10
• Digital Equipment Corporation DBMS-20
• RDM Embedded
• Turbo IMAGE
• Univac DMS-1100 etc.
Relational database (1980s – present)

Relational database model was proposed by E.F. Codd. After the hierarchical
and network model, the birth of this model was huge step ahead. It allows the
entities to be related through a common attribute. So in order to relate two
tables (entities), they simply need to have a common attribute. In the tables
there are primary keys and alternative keys. Primary keys form a relation with
the alternative keys. This property makes this model extremely flexible.

Thus using relational database ample information can be stored using small
tables. The accessing of data is also very efficient. The user only has to enter
a query, and the application provides the user with the asked information.
Relational databases are established using a computer language, Structured
Query Language (SQL). This language forms the basis of all the database
applications available today, from Access to Oracle.

Advantages:
• Relational database supports mathematical set of operations like union,
intersection, difference and Cartesian product. It also supports select,
project, relational join and division operations.
• Relational database uses normalization structure which helps to achieve
data independence more easily.
• Security control can also be implemented more effectively by imposing
an authorization control on the sensitive attributes present in a table.
• Relational database uses a language which is easy and human readable.

Disadvantages:
• The response to a query becomes time-consuming and inefficient if the
number of tables between which the relationships are established
increases.

Implementation of Relational Database:


• Oracle
• Microsoft
• IBM
• My SQL
• PostgreSQL
• SQLite

Object-oriented database (1990s – present)

Object oriented database management system is that database system in


which the data or information is presented in the form of objects, much like in
object-oriented programming language. Furthermore, object oriented DBMS
also facilitate the user by offering transaction support, language for various
queries, and indexing options. Also, these database systems have the ability
to handle data efficiently over multiple servers.
Unlike relational database, object-oriented database works in the framework of
real programming languages like JAVA or C++.

Advantages:
• If there are complex (many-to-many) relationships between the entities,
the object-oriented database handles them much faster than any of the
above discussed database models.
• Navigation through the data is much easier.
• Objects do not require assembly or disassembly hence saving the coding
and execution time.

Disadvantages:
• Lower efficiency level when data or relationships are simple.
• Data can be accessible via specific language using a particular API which
is not the case in relational databases.

Object-relational database (1990s – present)


Defined in simple terms, an object relational database management system
displays a modified object-oriented user-display over the already implemented
relational database management system. When various software interact with
this modified-database management system, they will customarily operate in a
manner such that the data is assumed to be saved as objects.

The basic working of this database management system is that it translates


the useful data into organized tables, distributed in rows and columns, and from
then onwards, it manages data the same way as done in a relational database
system. Similarly, when the data is to be accessed by the user, it is again
translated from processed to complex form.

Advantages:
• Data remains encapsulated in object-relational database.
• Concept of inheritance and polymorphism can also be implemented in
this database.

Disadvantages:
• Object relational database is complex.
• Proponents of relational approach believe simplicity and purity of
relational model are lost.
• It is costly as well.
• Web enabled database (1990s – present):
• Web enabled database simply put a database with a web-based
interface.

A web enabled database uses three layers to function: a presentation layer, a


middle layer and the database layer.
Advantages:
• A web-enabled database allows users to get the information they need
from a central repository on demand.
• The database is easy and simple to use.
• The data accessibility is easy via web-enabled database.

Disadvantages:
• Main disadvantage is that it can be hacked easily.
• Web enabled databases support the full range of DB operations, but in
order to make them easy to use, they must be “dumped down”.

WHAT IS A DATABASE?

A database is a systematic collection of data. They support electronic storage


and manipulation of data. A database is information that is set up for easy
access, management and updating. Computer databases typically store
aggregations of data records or files that contain information, such as sales
transactions, customer data, financials and product information.

Databases are used for storing, maintaining and accessing any sort of data.
They collect information on people, places or things. That information is
gathered in one place so that it can be observed and analyzed. Databases can
be thought of as an organized collection of information.

TYPES OF DATABASES

Here are some popular types of databases.

Distributed databases:
A distributed database is a type of database that has contributions from the
common database and information captured by local computers. In this type of
database system, the data is not in one place and is distributed at various
organizations.

Relational databases:
This type of database defines database relationships in the form of tables. It is
also called Relational DBMS, which is the most popular DBMS type in the
market. Database example of the RDBMS system include MySQL, Oracle, and
Microsoft SQL Server database.

Object-oriented databases:
This type of computers database supports the storage of all data types. The
data is stored in the form of objects. The objects to be held in the database
have attributes and methods that define what to do with the data. PostgreSQL
is an example of an object-oriented relational DBMS.
Centralized database:
It is a centralized location, and users from different backgrounds can access
this data. This type of computers databases store application procedures that
help users access the data even from a remote location.

Open-source databases:
This kind of database stored information related to operations. It is mainly used
in the field of marketing, employee relations, customer service, of databases.

Cloud databases:
A cloud database is a database which is optimized or built for such a virtualized
environment. There are so many advantages of a cloud database, some of
which can pay for storage capacity and bandwidth. It also offers scalability on-
demand, along with high availability.

Data warehouses:
Data Warehouse is to facilitate a single version of truth for a company for
decision making and forecasting. A Data warehouse is an information system
that contains historical and commutative data from single or multiple sources.
Data Warehouse concept simplifies the reporting and analysis process of the
organization.

NoSQL databases:
NoSQL database is used for large sets of distributed data. There are a few big
data performance problems that are effectively handled by relational
databases. This type of computers database is very efficient in analyzing large-
size unstructured data.

Graph databases:
A graph-oriented database uses graph theory to store, map, and query
relationships. These kinds of computers databases are mostly used for
analyzing interconnections. For example, an organization can use a graph
database to mine data about customers from social media.

OLTP databases:
OLTP another database type which able to perform fast query processing and
maintaining data integrity in multi-access environments.

Personal database:
A personal database is used to store data stored on personal computers that
are smaller and easily manageable. The data is mostly used by the same
department of the company and is accessed by a small group of people.

Multimodal database:
The multimodal database is a type of data processing platform that supports
multiple data models that define how the certain knowledge and information in
a database should be organized and arranged.
Document/JSON database:
In a document-oriented database, the data is kept in document collections,
usually using the XML, JSON, BSON formats. One record can store as much
data as you want, in any data type (or types) you prefer.

Hierarchical:
This type of DBMS employs the “parent-child” relationship of storing data. Its
structure is like a tree with nodes representing records and branches
representing fields. The windows registry used in Windows XP is a hierarchical
database example.

Network DBMS:
This type of DBMS supports many-to-many relations. It usually results in
complex database structures. RDM Server is an example of database
management system that implements the network model.

STRUCTURE OF DATABASE MANAGEMENT SYSTEM


Database Management System (DBMS) is a software that allows access to
data stored in a database and provides an easy and effective method of –
• Defining the information.
• Storing the information.
• Manipulating the information.
• Protecting the information from system crashes or data theft.
• Differentiating access permissions for different users.
The database system is divided into three components: Query Processor,
Storage Manager, and Disk Storage. These are explained as following below.

Architecture of DBMS
1.Query Processor :
It interprets the requests (queries) received from end user via an application
program into instructions. It also executes the user request which is received
from the DML compiler.

Query Processor contains the following components –

DML Compiler –
It processes the DML statements into low level instruction (machine
language), so that they can be executed.

DDL Interpreter –
It processes the DDL statements into a set of table containing meta data
(data about data).

Embedded DML Pre-compiler –


It processes DML statements embedded in an application program into
procedural calls.

Query Optimizer –
It executes the instruction generated by DML Compiler.

2. Storage Manager :
Storage Manager is a program that provides an interface between the data
stored in the database and the queries received. It is also known as
Database Control System. It maintains the consistency and integrity of the
database by applying the constraints and executes the DCL statements. It is
responsible for updating, storing, deleting, and retrieving data in the
database.

It contains the following components –

• Authorization Manager –
It ensures role-based access control, i.e,. checks whether the
particular person is privileged to perform the requested operation or
not.

• Integrity Manager –
It checks the integrity constraints when the database is modified.

• Transaction Manager –
It controls concurrent access by performing the operations in a
scheduled way that it receives the transaction. Thus, it ensures that
the database remains in the consistent state before and after the
execution of a transaction.
• File Manager –
It manages the file space and the data structure used to represent
information in the database.

• Buffer Manager –
It is responsible for cache memory and the transfer of data between
the secondary storage and main memory.

3. Disk Storage: It contains the following components –

• Data Files –
It stores the data.

• Data Dictionary –
It contains the information about the structure of any database
object. It is the repository of information that governs the metadata.

• Indices –
It provides faster retrieval of data item.

LIMITATIONS TRADITIONAL FILE PROCESSING SYSTEM

1. Duplicate Data

Data is stored more than once in different files, that means duplicate data may
occur in all these files. Since all the files are independent on each other so it is
very difficult to overcome this error and if anyone finds this error then it will take
time and effort to solve this issue.

For Example: A student is having record in college library and in Examination


department. Then his name, roll number, fathers name and class will be same
in both the departments. Also these departments are not dependent on each
other. So it create lots of duplicates value about that student and when he
needs any change for his name or class then he has to go to both the
departments to make these changes happen otherwise it will create problem
for him.

2. Inconsistency
In file processing system, various copies of same data may contain different
values. Data is not consistent in this system, it means if a data item needs to
be changed then all the files containing that data need to be modified. It may
create a risk of out dated values of data.

For Example: If you change student name in library then his name should be
changed in all the departments related to the student.
3. Accessing Anomalies
Accessing anomalies means that it is not easy to access data in a desired or
efficient way. It makes supervision of department very difficult. If a user wants
information in a specific manner then he requires creating a program for it.

For Example: Let’s say , if admin of the college wants any student information
like his name, fathers name, roll number, marks and class then program for it
is written but if he wants records of whose students whose numbers are more
than 80 percent then he require to create a different program for it.
Also Read:

4.Poor Data Integrity


A collection of data is integrated if it meets certain consistency constraints. A
programmer always puts these constraints in the programs by adding some
codes. In File Processing System, poor data integrity often arises and it
becomes very difficult to add new constraints at that time.

For Example: The maximum marks of the student can never be more than
100.

5. Poor Data Security


Poor data security is the most threatening problem in File Processing System.
There is very less security in File Processing System as anyone can easily
modify and change the data stored in the files. All the users must have some
restriction of accessing data up to a level.

For Example: If a student can access his data in the college library then he
can easily change books issued date. Also he can change his fine detains to
zero.

6. Atomicity Problem
Atomicity is required to save the data values, it means that information is
completely entered or canceled at all. Any system may fail at any time and at
that time it is desired that data should be in a consistent state.

For Example: If you are buying a ticket from railway and you are in the process
of money transaction. Suddenly, your internet got disconnected then you may
or may not have paid for the ticket. If you have paid then your ticket will be
booked and if not then you will not be charged anything. That is called
consistent state, means you have paid or not.
Same atomicity is not present in File Processing System.

7. Wastage of Labor and Space


Labor is very costly in this era and no organization can afford wastage of their
precious labor. File Processing System needs lots of copied data in different
files that cause wastage of labor. Also maintaining same data again and again
leads to wastage of space too.
For Example: Maintaining student’s record in many departments that are not
dependent on each other cause wastage of labor and space.

8. Data Isolation
Data is isolated in File Processing System and data is stored in different files.
These files can be in different formats. If you want to extract data from two file
then you are required to which part of the file is needed and how they are
related to each other.

Drawbacks of File system

• Data redundancy: Data redundancy refers to the duplication of


data, lets say we are managing the data of a college where a
student is enrolled for two courses, the same student details in
such case will be stored twice, which will take more storage than
needed. Data redundancy often leads to higher storage costs and
poor access time.
• Data inconsistency: Data redundancy leads to data
inconsistency, lets take the same example that we have taken
above, a student is enrolled for two courses and we have student
address stored twice, now lets say student requests to change his
address, if the address is changed at one place and not on all the
records then this can lead to data inconsistency.
• Data Isolation: Because data are scattered in various files, and
files may be in different formats, writing new application programs
to retrieve the appropriate data is difficult.
• Dependency on application programs: Changing files would
lead to change in application programs.
• Atomicity issues: Atomicity of a transaction refers to “All or
nothing”, which means either all the operations in a transaction
executes or none.

For example: Let’s say Steve transfers 100$ to Negan’s account.


This transaction consists multiple operations such as debit 100$
from Steve’s account, credit 100$ to Negan’s account. Like any
other device, a computer system can fail lets say it fails after first
operation then in that case Steve’s account would have been
debited by 100$ but the amount was not credited to Negan’s
account, in such case the rollback of operation should occur to
maintain the atomicity of transaction. It is difficult to achieve
atomicity in file processing systems.

• Data Security: Data should be secured from unauthorised access,


for example a student in a college should not be able to see the
payroll details of the teachers, such kind of security constraints are
difficult to apply in file processing systems.
Advantage of DBMS over file system
There are several advantages of Database management system over file
system. Few of them are as follows:

• No redundant data: Redundancy removed by


data normalization. No data duplication saves storage and
improves access time.
• Data Consistency and Integrity: As we discussed earlier the root
cause of data inconsistency is data redundancy, since data
normalization takes care of the data redundancy, data
inconsistency also been taken care of as part of it
• Data Security: It is easier to apply access constraints in database
systems so that only authorized user is able to access the data.
Each user has a different set of access thus data is secured from
the issues such as identity theft, data leaks and misuse of data.
• Privacy: Limited access means privacy of data. DBMS can grant
and revoke access to the database on user level that ensures who
is accessing which data. It also helps user to manage the
constraints on database, this ensures which type of data can be
entered into the table.
• Easy access to data – Database systems manages data in such
a way so that the data is easily accessible with fast response
times. Even if the database size is huge, the DBMS can still
provide faster access and updation of data.
• Easy recovery: Since database systems keeps the backup of
data, it is easier to do a full recovery of data in case of a failure.
This is very useful especially for almost all the organizations, as
the data maintained over time should not be lost during a system
crash or failure.
• Flexible: Database systems are more flexible than file processing
systems. DBMS systems are scalable, the database size can be
increased and decreased based on the amount of storage
required. It also allows addition of additional tables as well as
removal of existing tables without disturbing the consistency of
data.

Disadvantages of DBMS

• DBMS implementation cost is high compared to the file system


• Complexity: Database systems are complex to understand
• Performance: Database systems are generic, making them
suitable for various applications. However this feature affect their
performance for some applications
DATABASE MANAGEMENT SYSTEM (DBMS)

The Database Management System (DBMS) is defined as a software system


that allows the user to define, create and maintain the database and provide
control access to the data.

It is a collection of programs used for managing data and simultaneously it


supports different types of users to create, manage, retrieve, update and store
information.

DBMS allows following operations to the authorized users of the database:

Data Definition: Creation of table, table schema creation, removal of table


definition etc. comes under data definition. It is basically a layout of the table
and their relation with the other tables in the database.

Data Modification: DBMS allows users to insert, update and delete the data
from the tables. These tables contains rows and columns, where row
represents a record of data while column represents attributes of the records.

Data Retrieval: DBMS allows users to fetch data from the database.

User administration: DBMS also allows user management such as


organizing users in different groups with different access levels. Granting
users access to certain tables in database, revoking access from certain
users etc.

Characteristics of DBMS

• Stores the data in such a way so that the relation between data is
still maintained in the database.
• Allows fast retrieval.
• It can handle multiple accessing the database at the same time.
• It maintains data integrity by following ACID properties of the
database.
• It provides data security by managing user access.
• DBMS allows automatic backup of database to handle accidental
corruption or deletion of data.
• It allows scaling of database as per the need.
• It allows data rollback and redone in case of a data operation
failure.

Advantages of DBMS

• Handles Database redundancy: The major disadvantage of file


based system of storing the data is data redundancy, same data is
stored in multiple files. DBMS handles data redundancy to manage
the storage space efficiently.
• Data sharing: DBMS allows data sharing so that data can be
shared between multiple users of the same organization efficiently.
• Data Maintenance: DBMS performs regular data checks and
automatic backup.
• Performance: Provides better performance for operations such as
read, insert, update and deletion of data.
• Backup: It maintains backup of the database so that in case of a
failure, database can be recovered to the previous state using the
backup.
• Multiple users: It allows multiple users to access the data at the
same time.

Disadvantages of DBMS

• Hardware and Software Cost: Although DBMS has several


advantages over file system of data management, however all this
comes with a cost. DBMS needs a dedicated hardware and
software system to manage the database.
• Need large Storage: DBMS is usually used in the large
organisations that require large amount of data stored in the
devices.
• Complexity: Database management system is complex and not
easy to implement.
• Requires learning: In order to manage database, user require
learning the concepts of DBMS which require additional time and
resources that a organization has to bear.

ADVANTAGES OF DBMS

The advantages of the DBMS are explained below –

Redundancy problem can be solved.


In the File System, duplicate data is created in many places because all the
programs have their own files which create data redundancy resulting in
wastage of memory. In DBMS, all the files are integrated in a single database.
So there is no chance of duplicate data.
For example: A student record in a library or examination can contain duplicate
values, but when they are converted into a single database, all the duplicate
values are removed.

Has a very high security level.


Data security level is high by protecting your precious data from unauthorized
access. Only authorized users should have the grant to access the database
with the help of credentials.

Presence of Data integrity.


Data integrity makes unification of so many files into a single file. DBMS allows
data integrity which makes it easy to decrease data duplicity Data integration
and reduces redundancy as well as data inconsistency.

Support multiple users.


DBMS allows multiple users to access the same database at a time without
any conflicts.

Avoidance of inconsistency.
DBMS controls data redundancy and also controls data consistency. Data
consistency is nothing but if you want to update data in any files then all the
files should not be updated again.
In DBMS, data is stored in a single database so data becomes more consistent
in comparison to file processing systems.

Shared data
Data can be shared between authorized users of the database in DBMS. All
the users have their own right to access the database. Admin has complete
access to the database. He has a right to assign users to access the database.

Enforcement of standards
As DBMS have central control of the database. So, a DBA can ensure that all
the applications follow some standards such as format of data, document
standards etc. These standards help in data migrations or in interchanging the
data.

Any unauthorized access is restricted


Unauthorized persons are not allowed to access the database because of
security credentials.

Provide backup of data


Data loss is a big problem for all the organizations. In the file system users
have to back up the files in regular intervals which lead to waste of time and
resources.
DBMS solves this problem of taking backup automatically and recovery of the
database.

Tunability
Tuning means adjusting something to get a better performance. Same in the
case of DBMS, as it provides tunability to improve performance. DBA adjusts
databases to get effective results.

DISADVANTAGES OF DBMS

The disadvantages of DBMS are as follows:

Complexity
The provision of the functionality that is expected of a good DBMS makes the
DBMS an extremely complex piece of software. Database designers,
developers, database administrators and end-users must understand this
functionality to take full advantage of it.

Failure to understand the system can lead to bad design decisions, which
leads to a serious consequence for an organization.

Size
The functionality of DBMS makes use of a large piece of software which
occupies megabytes of disk space.

Performance
Performance may not run as fast as desired.

Higher impact of a failure


The centralization of resources increases the vulnerability of the system
because all users and applications rely on the availability of DBMS, the failure
of any component can bring operation to halt.

Cost of DBMS
The cost of DBMS varies significantly depending on the environment and
functionality provided. There is also the recurrent annual maintenance cost.

DBMS applications

Applications where we use Database Management Systems are:

• Telecom: There is a database to keeps track of the information


regarding calls made, network usage, customer details etc.
Without the database systems it is hard to maintain that huge
amount of data that keeps updating every millisecond.
• Industry: Where it is a manufacturing unit, warehouse or
distribution centre, each one needs a database to keep the records
of ins and outs. For example distribution centre should keep a
track of the product units that supplied into the centre as well as
the products that got delivered out from the distribution centre on
each day; this is where DBMS comes into picture.
• Banking System: For storing customer info, tracking day to day
credit and debit transactions, generating bank statements etc. All
this work has been done with the help of Database management
systems. Also, banking system needs security of data as the data
is sensitive, this is efficiently taken care by the DBMS systems.
• Sales: To store customer information, production information and
invoice details. Using DBMS, you can track, manage and generate
historical data to analyse the sales data.
• Airlines: To travel though airlines, we make early reservations,
this reservation information along with flight schedule is stored in
database. This is where the real-time update of data is
necessary as a flight seat reserved for one passenger should
not be allocated to another passenger, this is easily handled by
the DBMS systems as the data updates are in real time and fast.
• Education sector: Database systems are frequently used in
schools and colleges to store and retrieve the data regarding
student details, staff details, course details, exam details, payroll
data, attendance details, fees details etc. There is a large amount
of inter-related data that needs to be stored and retrieved in an
efficient manner.
• Online shopping: You must be aware of the online shopping
websites such as Amazon, Flipkart etc. These sites store the
product information, your addresses and preferences, credit details
and provide you the relevant list of products based on your query.
All this involves a Database management system. Along with
managing the vast catalogue of items, there is a need to
secure the user private information such as bank & card
details. All this is taken care of by database management
systems.

I have mentioned very few applications, this list is never going to end as
almost every field where the database needs to be managed is using DBMS
now a days. The traditional file system is used only where the data size is
very small.

DIFFERENT TYPES OF DATABASE USERS

Database users are categorized based up on their interaction with the data
base.
These are seven types of data base users in DBMS.

1. Database Administrator (DBA) :


Database Administrator (DBA) is a person/team who defines the schema
and also controls the 3 levels of database.
The DBA will then create a new account id and password for the user if
he/she need to access the data base.
DBA is also responsible for providing security to the data base and he
allows only the authorized users to access/modify the data base.

• DBA also monitors the recovery and back up and provide


technical support.
• The DBA has a DBA account in the DBMS which called a
system or superuser account.
• DBA repairs damage caused due to hardware and/or software
failures.

2. Naive / Parametric End Users :


Parametric End Users are the unsophisticated who don’t have any DBMS
knowledge but they frequently use the data base applications in their
daily life to get the desired results.
For examples, Railway’s ticket booking users are naive users. Clerks in
any bank is a naive user because they don’t have any DBMS knowledge
but they still use the database and perform their given task.

3. System Analyst :
System Analyst is a user who analyzes the requirements of parametric
end users. They check whether all the requirements of end users are
satisfied.

4. Sophisticated Users :
Sophisticated users can be engineers, scientists, business analyst, who
are familiar with the database. They can develop their own data base
applications according to their requirement. They don’t write the program
code but they interact the data base by writing SQL queries directly
through the query processor.

5. Data Base Designers :


Data Base Designers are the users who design the structure of data base
which includes tables, indexes, views, constraints, triggers, stored
procedures. He/she controls what data must be stored and how the data
items to be related.

6. Application Programmers:
Application Programmers are the back end programmers who writes the
code for the application programs. They are the computer professionals.
These programs could be written in Programming languages such as
Visual Basic, Developer, C, FORTRAN, COBOL etc.

7. Casual Users / Temporary Users :


Casual Users are the users who occasionally use/access the data base
but each time when they access the data base they require the new
information, for example, Middle or higher level manager.

You might also like