In this guide, you will learn advantages and disadvantages of DBMS. We will first discuss what is a file processing system and how Database management systems are better than file processing systems.
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