Redundancy in DBMS is when we store same information in different parts of the database , while this is not possible to remove Redundancy completely , it should be avoided whenever we can.
Let’s say you are designing a system for a university. There’s a requirement to store the addresses of people in system as well and you have separated faculty from admin staff and storing them in two tables. Now you are also storing information about student’s addresses as well. When you will chose cities for all this different type of people, you may end up adding same city to hundreds of students, teachers and admin staff. Result is going to be same city name in different parts of database. This is called redundant data.
Redundancy in DBMS Example
You can simply avoid this by separating cities in one table and then just reference the correct. Foreign key to the city table. Now cities in all your database is one table. Congratulations, you have reduced the Redundancy from your design.
Redundancy in DBMS-How To Avoid ?
Normalization is one way to do this. We remove data dependencies and partial dependencies from database using Normal Forms.
Concluding discussion , this a very basic example for Redundancy , one may argue that the data is still redundant here . I agree , but as I said , objective is to minimise it whenever possible . Some times designers have to design such a solution where we end up with Redundancy.
Data Warehouses can end up having a lot of Redundancy because of highly de-normalized data design and in databases if we reduce the Redundancy , query cost increases . As you can , see above to find the city name for the Students , Faculty and Admin we have to go to City table every time . This is a trade-off and we have to decide what’s best for us.
If you’re new to databases , don’t scratch your head with this detail . We will soon write detailed articles on Data Warehouse . Meanwhile you can check Normalisation and design practices. For now just focus on getting the concept .
Professional Data Analyst and Business Intelligence Developer with experience of delivering industrial projects for Supply Chain and Insurance Industry . Sharing all my experience and insights in databases and data warehousing and open to learn from fellows !
Happy Reading and Learning!