Disadvantages of file
(file processing systems)
A file processing system is a collection of
files and programs that access/modify these
files. Typically, new files and programs are
added over time (by different programmers)
as new information needs to be stored and
new ways to access information are needed.
What is FPS?
When computers came, all the jobs become easy. But initial
days, records were stored in the form of files. The way we
stored in files is similar to papers, in the form of flat files –
to be simpler, in notepad. Yes, the information's where all in
the notepads with each fields of information separated by
space, tab comma, semicolon or any other symbol
All the files were grouped based on their categories; file
used to have only related information's and each file is
named properly. As we can see in the above sample file has
Student information. Student files for each class were
bundled inside different folders to identify it quickly.
Now, if we want to see a specific Student detail from a file,
what do we do? We know which file will have the data, we
open that file and search for his details. Fine, here we see
the files; we can open it and search for it. But imagine we
want to display student details in a UI. Now how will we
open a file, read or update it? There different programs like
C, C++, COBOL etc. which helps to do this task. Using
these programming languages, we can search for files, open
them, search for the data inside them, and go to specific line
in the file, add/update/delete specific information.
File processing system is good when there is only limited
number of files and data in are very less. As the data and
files in the system grow, handling them becomes difficult.
Disadvantages of file system
(file processing systems)
It is possible that the same information may be duplicated in
different files. This leads to data redundancy.
Data redundancy results in memory wastage.
For example consider that some customers have both kinds
of accounts saving and current. In this case data about
customers-name, address, email, contact-number will be
duplicated in both files, file for saving accounts and file for
current accounts. This leads to requirement of higher
storage space. In other words, same information will be
stored in two different locations (files). And, it wastes
Due to data redundancy, it is possible that data may not be
in consistent state.
For example, consider that an address of some customer
changes. And, that customer has both kinds of accounts.
Now, it is possible that this changed address is updated in
only one file, leaving address in other file as it is. As a
result of this, same customer will have two different
addresses in two different files, making data inconsistent.
Difficulty in Accessing Data
Accessing data is not convenient and efficient in file
Conventional file-processing environments do not allow
needed data to be retrieved in a convenient and efficient
manner. More responsive data-retrieval systems are
required for general use.
Suppose that one of the bank officer needs to find out the names of all
customer who lives within a particular postal-code area. The officer
asks the data-processing department to generate such a list. Because
the designer of the original system did not anticipate this request there
is no application program on hand to meet it . There is however an
application program to generate the list of all customers. The bank
officer has now two choices: either obtain the list of all customer and
extract the needed information manually or ask a system programmer
to write the necessary application program. Both alternatives are
obviously unsatisfactory. Suppose that such program is written and
that several days later, the same officer needs to trim that list to
include only those customers who have an account balance of $10,000
or more. As expected, a program to generate such list does not exist.
Again the officer has the preceding two options, neither of which is
Limited Data Sharing or Data isolation
Data are scattered in various files.
Different files may have different formats. And these files
may be stored in different folders (directories) may be of
different computers of different departments.
So, due to this data isolation, it is difficult to share data
among different applications.
Data integrity means that the data contained in the database
is both correct and consistent. For this purpose, the data
stored in database must satisfy certain types of constraints
For example, a balance for any account must not be less than
zero. Such constraints are enforced in the system by adding
appropriate code in application programs. But, when new
constraints are added, such as balance should not be less
than Rs. 5000, application programs need to be changed.
But, it is not an easy task to change programs whenever
Any operation on database must be atomic. This means,
operation completes either 100% or 0%.
For example, a fund transfer from one account to another
must happen in its entirely. But, computer systems are
vulnerable to failure, such as system crash, virus attack. If a
system failure occurs during the execution of fund transfer
operation, it may possible that amount to be transferred,
say Rs. 500, is debited from one account, but is not credited
to another account.
This leaves database in inconsistent state. But, it is difficult
to ensure atomicity in a file processing system.
Concurrent Access Anomalies
Multiple users are allowed to access data simultaneously
(concurrently). This is for the sake of better performance
and faster response.
Consider an operation to debit (withdrawal) an account.
The program reads the old balance, calculates the new
balance, and writes new balance back to database. Suppose
an account has a balance of Rs. 5000. Now, a concurrent
withdrawal of Rs. 1000 and Rs. 2000 may leave the balance
Rs. 4000 or Rs. 3000 depending upon their completion time
rather than the correct value of Rs. 2000.
Here, concurrent data access should be allowed under some
But, due to lack of co-ordination among different
application programs, this is not possible in file processing
Database should be accessible to users in a limited way.
Each user should be allowed to access data concerning his
For example, a customer can check balance only for his/her
own account. He She should not have access for information
about other accounts.
But in file processing system, application programs are
added in an ad hoc manner by different programmers. So, it
is difficult to enforce such kind of security constraints.