Why do we need Database Design?
In this article, I am going to discuss why do we need Database Design. Please read our previous article where we give a brief introduction to RDMB (Relational Database Management System).
Need for Database Design:
A database system is basically a computer-based record-keeping system. The main use of the database is that the same collection of data should serve as many applications as possible.
The main purpose is to store data across applications. In a typical file-processing system, permanent records are stored in various files. Initially, every data was maintained in a file system, which was having several drawbacks.
File-based system done through the computer where all the information is store in different computer files. File-based systems are an early step to computerize the manual filing system. The problems that arise with the file-based system are listed below:
- Redundancy of data
- Inconsistent data
- Data separation and isolation
- Incompatible file formats
- Limited data sharing\
- Securities Problems
- Backup Recovery
Data redundancy means duplication of data values i.e.; the same information is duplicated in several files. This makes the data redundancy; the same information appears in different files in different ways. If we maintain duplication then it means wastage of time, wastage of money, and storage space also. So, in your DBMS main drawback is redundancy.
Data Inconsistency means different copies of the same data are not matching. For Example, in 1 file employee phone no. is 9764734221 something and in another file that employees same phone number is different meaning so different copies of the same data are not matching that is nothing but a data inconsistency. Same basic data existing in different files with different meanings then you can say that is a data inconsistency.
Example: Phone no. of the customer is different at different files.
Data isolation means data is scattered in different files, and files in different formats, writing a new application program to retrieve data is difficult. Each and every file is formatting in a different way then retrieving information from these files is very difficult that is nothing but data isolation.
Data integrity means data values may need to satisfy some integrity constraints. For example, if you are maintaining some bank database so balance is one attribute so bank balance values, suppose it is maintaining some integrity constraints like each and every customer should have the 1000/- RS. Minimum balance so here bank balance value should be 1000/- RS. Minimum, this is nothing but the integrity constraints.
For example: if you want to fill an application form here age should be like 18 yrs. this is nothing but is some integrity constraints. So, each and every data value must satisfy some integrity constraints.
In the file-based approach to handling the above condition, we need to go through the program code whereas in the database approach we can declare integrity constraint along with the definition whereas in your file-based approach if you maintain some integrity constraint you need to write the programming code. In this database approach just simply, you can mention the integrity constraint along with the query language.
It is difficult to ensure atomicity in the file processing system. For Example, two accounts are their A and B both are the customers, A and B both are having accounts and A wants to transfer 100/- RS. to B so here from A’s account 100/- RS. is deducted but it is not credited in the B’s account due to some failure, so that is nothing but atomicity.
Data concurrent access violation:
If multiple users are updating the same data simultaneously, it will result in an inconsistent data state. In a file processing system, it is very difficult to handle using programming code.
Enforcing security constraints in a file processing system is very difficult. For example: in the banking system, payroll personal need only the part of the database that has information about various bank employees. They don’t need access to information about customer account. If you see in the bank if anybody asks the payroll information then like customer name, customer age, customer address, customer bank balance every information will be there so if I asked my details, I should see only my details if other personal details, I am able to see then it is not maintaining security.
Database systems give solutions to all the above problems.
Why DBMS is important?
DBMS is important because Databases can be maintained manually or through electronic devices.
Advantages of Database:
- Reduces Data Redundancy means reducing duplicate data in the system.
- Control Data Inconsistency means centrally controlled database.
- Facilitate sharing of data means the same data can be shared among various applications and can be accessed by many users.
- Enforce standards, suppose in a school database, each student must have an emergency contact number.
- Ensure data security means protection of data against accidental or intentional access/damage to unauthorized persons or modifications. Ex: Password, User Access Control
- Maintains Integrity means the Database is consistent among many files so if by mistake there is any loss of data that can be recovered easily.
In the next article, I am going to discuss Client-Server (Database Server) Technology. Here, in this article, I try to explain why do we need Database Design. I hope you enjoy this Need for Database Design article.
About the Author: Pranaya Rout
Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.