Skip to content

Computer Science · Ch 8 — Database Concepts

Limitations of a File System

8.2.1

Limitations of a File System

A file system works well when you have a few small files. But as the number of files grows and the volume of data increases, the file system becomes very difficult to manage. The textbook lists six major limitations that arise.

(A) Difficulty in Access

Files themselves do not provide any built-in mechanism to retrieve data. You cannot simply "ask" a file a question. Instead, data in a file system is accessed only through application programs — separate pieces of software written specifically for that purpose.

The problem is that when a developer writes such a program, they cannot always anticipate every possible way a user might want to access the data later. So, if a new need arises, it is often difficult to access the data in the required format — one has to write a new application program to extract that specific information. This makes data access rigid and time-consuming.

(B) Data Redundancy

Redundancy means the same data is duplicated in different places (different files). The textbook gives two clear examples from its own tables:

  • Student names are maintained in both the STUDENT file and the ATTENDANCE file. That is unnecessary duplication.
  • In the STUDENT file itself, two different students (roll numbers 3 and 5) share the same guardian name. That guardian name is stored twice.

Redundancy is difficult to avoid in a file system. It leads to two serious problems:

  • Excess storage use — you are wasting disk space storing the same thing over and over.
  • Data inconsistency — if one copy gets updated but the other does not, the data becomes contradictory.

(C) Data Inconsistency

Data inconsistency occurs when the same data, maintained in different places, does not match. The textbook gives two concrete scenarios:

  • If a student wants to change the spelling of her name, that change must be made in the SName column in both the STUDENT file and the ATTENDANCE file. If only one file is updated, the two files now disagree about the student's name.
  • If a student leaves the school, her details must be deleted from both files. If deletion happens in only one file, the data is inconsistent.

Because different people may maintain different files, there is no guarantee that a change made in one file will be made in the other. The result is conflicting data.

(D) Data Isolation

Both the STUDENT file and the ATTENDANCE file are about students. But there is no link or mapping between them. The file system does not support relationships between files.

This means the school must write separate programs to access each file. In a more complex system, where different people create different files at different times, those files may be in completely different formats. To write a new program that retrieves data from multiple such files, a developer must first understand the underlying structure of each file — a tedious and error-prone task. The data is isolated, and combining it is hard.

(E) Data Dependence

Data in a file is stored in a specific format or structure. If that structure changes — for example, if you add a new column or change the data type of an existing column — all existing application programs that access that file must also be changed. Otherwise, those programs may stop working correctly.

This is called data dependency. The application programs are dependent on the physical structure of the data file. Updating the structure of a file forces you to modify every program that touches it, which is expensive and risky.

(F) Controlled Data Sharing …