The file system and DBMS offer you a way to store information. But there are many differences between these two methods. The file-based system is a conventional method of storing the data, whereas DBMS is an advanced method.
In the file-based system, information is stored in separate files, which leads to redundancy and inconsistency. However, in DBMS, all the data files are integrated into one system, which reduces the chances of redundancy and inconsistency.
If we talk of the file-based system, there is a separate application program to access each data file, leading to data dependency, compatibility and integrity issues. On the contrary, in DBMS, the different application programs can access the same data, leading to data independence and eliminating compatibility and integrity issues.
There are more differences to be discussed. So let’s start.
Content: File System Vs DBMS
Comparison Chart
Basis for Comparison | File System | DBMS |
---|---|---|
System | The file system is a method offered by the OS to organise data files in the storage device. | DBMS is a software that provides rules for defining, accessing and manipulating data. |
Redundancy | Do not eliminate redundant data | Eliminates redundant data |
Consistency | Data inconsistency | Data consistency maintained |
Access | Data is accessed randomly | Data is accessed with the help of queries |
Data isolation | Data is isolated in different file | Data is centralized |
Integrity Constraint | Difficulty in integrating data | Data integration is easy |
Data Dependency | The file system is data dependent | DBMS is data independent |
Query Processing | File systems do not process any query | DBMS efficiently processes queries |
Data Sharing | Data sharing is difficult as data is distributed in many files | Data sharing is easy as it is centralised |
Compatibility | There are compatibility issues between the files in a file-based system | No compatibility issues are there |
Complexity | The complexity level is low | The complexity level is high |
Security | Comparatively less secure | More secure |
Cost | Inexpensive | Expensive |
What is File System?
The file-based system provides a way to name, store and retrieve data. Also, the file system has multiple application programs that perform a different kinds of services for the end users. These application programs generate and manage their own database.
Let us try to understand the scenario with the help of an example.
Consider that we have to create a University database which will include information about the students, faculty, non-teaching staff, courses offered, grades of students, etc. Now in a file-based system, information is stored in separate files. Like there will be a separate file holding the database of the student, another file holding the database of the faculty, and so on.
To process each database, we have to write a separate application program. Like, there will be a separate application program providing information about the student and another application program providing information about the courses offered.
In a file-based system, an application program written for managing the student’s database can not access or provide information about the faculty database. We must rewrite the application program if we want it to do so. Because in the file-based system, the application programs are data-dependent. That means if you want the application program to share a different database, then you have to rewrite the application program.
Limitation of File System
Although the file system serves the purpose of storing and retrieving the data, there were some limitations. Let us discuss them one by one.
1. Data Redundancy and Inconsistency
In a file system, the data is distributed, as there are different files for different kinds of data. There are many chances of data duplication in the file system. However, data redundancy is sometimes worth it as it is helpful during data recovery or backups.
But sometimes, the duplication of data can leads to data inconsistency. Let us get this with the help of an example. We have student data with the department as well as the university. Now, if a student changes his address in the records with the department and doesn’t implement changes to the records in the university, it will lead to data inconsistency. Let’s say the university has to send a degree to the student’s address. In this case, it will not reach the student as university records do not have updated data.
This data redundancy can cause data inconsistency. Data duplication also leads to the wastage of storage space, increasing the cost.
2. Data Dependence
The application programs that define and manage data in the file system are data-dependent. It means if we perform any changes in the data structure, we also have to rewrite the application program. The data dependence makes the file system rigid.
3. Integrity Problems
In a file system, the data structure depends on the application program managing it. So there are integrity issues in the data. For example, the structure of data generated by a java program would be different from that generated by a C program.
And the incompatibility among the data makes it difficult to process them together. Thus, there is an integrity issue in the file system.
4. Data Isolation
The data is decentralised and isolated into different files in a file system. It creates difficulty in accessing the data. To access data from two different files, the application programmer must design the program so that processing of both files must be synchronised to get the correct data.
It becomes more difficult if the data has to be accessed from more than two files.
Types of File Systems
- Disk File System – The disk file system allows storing and retrieving data from the disk storage media. It allows you to access the data randomly in a very short time. Examples of disk file systems are –
- File Allocation Table (FAT) – The Microsoft Windows OS supports the FAT file system. It is quite simple and modelled after the conventional file system. It was originally designed for floppy disks but later adapted for hard disk storage.
- Global File System (GFS) – The GFS file system is supported by the Linux OS. It is a shared disk file system that can be accessed from multiple locations worldwide.
- Hierarchical File System (HFS) – The HFS file system is developed by Apple for Mac OS. Even HFS was first designed for floppy disks and later adapted by the hard disk.
- New Technology File System (NTFS) – Microsoft designed the NTFS file system for Windows OS, and it superseded the FTS. Linux and BSD even support the NTFS file system.
- Universal Disk Format (UDF) – The UDF file system is vendor-neutral. It means no vendor can control the UDF file system’s definition, revision and distribution. The UDF file system is widely used for DVDs and all kinds of optical storage.
- Flash File System – The flash file system defines a way to store data in the flash memory device.
- Tape File System – The tape file system defines a way to store data on magnetic tape. In magnetic tapes, the data is stored sequentially. Thus, it has a significantly longer access time.
- Database File System – In the database file management system, the data files are organised based on their type, size, author etc.
- Transactional File System – The transactional file system supports transactions on the data elements. It ensures the consistency of the file doesn’t get disturbed due to any software failure.
- Network File System – The network file system is a distributed file system that allows a user to access the file over a network just like the user is accessing its local storage device.
- Shared Disk File System – Several systems can access an external disk sub-system in the shared disk. Multiple access to external disks may lead to a collision. To avoid a collision, the file system decides which disk sub-system must be accessed.
- Special File System – The special file system represents the non-file elements of the OS as a file so that they can be operated using file system APIs.
Examples of File Systems
- FAT – FAT12, FAT16, FAT32
- exFAT
- NTFS
- HFS
- HFS+
- HPFS
- APFS, etc.
What is DBMS?
The database management system provides a way to define, access and manage data. In DBMS, the data is centralised, and any application program can share data from the database. Thus, there is data independency in DBMS.
The main advantages of the DBMS system are:
1. Data redundancy and Inconsistency
The data in DBMS is centralised. Thus, the chances of data redundancy have been minimised. The minimal redundancy also saves the storage cost as the entire data is integrated into one system making data management more efficient.
With minimal data redundancy, the chances of data inconsistency also get reduced.
2. Data Dependency
In DBMS, the application program does not need to be rewritten if there are some modifications in the data structure. But if the modifications are major, the programmer may have to rewrite the application program.
3. Data Inconsistency
DBMS offers consistency in data, as we have discussed in an example above, where the department and university both hold the student record. But when the student makes an address change in the records available with the department, the change needs to reflect in the record with the university, which causes data inconsistency.
But in DBMS, the data is centralised, and the system is designed to achieve data consistency.
Types of DBMS
- Relational Database – In a relational database, the data is stored in a table where the rows indicate the entities and the column indicates the entity’s attribute values.
- Object-Oriented Database – The data is stored as objects in an object-oriented database.
- Hierarchical Database – In the hierarchical database, the data is stored hierarchically with a tree-like structure. The data elements here maintain one-to-many (1: N) relationships.
- Network Database – In a network database, the data elements maintain one-to-one (1: 1) or many-to-many (N: N) relationships to form a graph-like structure.
Examples of DBMS
- Microsoft Access
- MySQL
- Oracle Database
- MongoDB
- IBM Db2 DBMS
- Amazon RDS
- PostgreSQL
- Apache
- Cassandra, etc.
Key Differences Between File Systems and DBMS
- The file system is a method the operating system provides to store information in the storage device. On the other hand, DBMS is software that offers a set of rules to store, access and manage data.
- In the file system, data is isolated into separate files. However, in DBMS, data is centralised as all the data files are integrated into one system.
- Due to decentralisation, there is always a chance of data redundancy in a file-based approach. On the contrary, the centralisation of data reduces the chances of data redundancy in DBMS.
- As there is data redundancy in a file-based system, modification in data may lead to data inconsistency. However, DBMS is designed in a way to have consistent data.
- The file-based system allows users to access the data randomly. On the other hand, the user has to raise queries to access data from DBMS.
- There is data dependency in the file-based system as the application program depends on data. So, if there is any modification in the data structure, the application programs must be rewritten. On the other hand, DBMS is data independent, i.e. the application programs in DBMS are independent of the structure of data.
- Due to data dependency, compatibility issues occur in the file-based system. Different application programs generate data files with other structures, making it difficult to process them jointly. However, due to data independence, there are no compatibility issues in DBMS.
- As there are compatibility issues in the file-based system, integrating data becomes difficult. On the contrary, there are no compatibility issues in DBMS, which makes data integrity easier.
- The file-based system is unable to process queries defined by the user. However, DBMS is designed to process queries efficiently.
- In a file-based system, data is distributed in different files, making data sharing difficult. On the contrary, in DBMS, the information is centralised, which makes data sharing easier.
- The complexity level in a file-based system is less as it doesn’t achieve many qualities. In contrast, the complexity level in DBMS is much higher as it has achieved many qualities like redundancy, integrity, compatibility, consistency, centralisation, data independence and so on.
- Data security is less in file-based systems, whereas, in DBMS, the data is more secure.
- As a file-based system is less complex, it is less expensive. However, the DBMS is comparatively more complex which makes it costlier.
Conclusion
The file system and DBMS provide a way to store and organise the data. But the file system is a conventional method of storing data. However, DBMS provides a defined way to store, access and manipulate data without disturbing the consistency of data.
Leave a Reply