Denormalization in DBMS


In some exceptional cases, database designers use redundancy to improve performance for specific applications. They select such a schema that has redundant information which means it is not normalized.

Example: suppose that the name of an account holder has to be displayed along with the account number and cash balance, every time the account is accessed.

However, the balance information for an account is repeated for every person who owns the account. All copies must be updated by the application, whenever the account balance is updated. This process of taking a normalized schema and making it non-normalized is called Denormalization. The designers of databases use it to tune the performance of systems that require time-critical operations.

A better alternative is to use views. A materialized view is a view whose result is stored in the database and reflected in the data when the relations used in the view are updated. Like denormalization, using materialized view does have space and time overheads, but it has the advantage that keeping the view up-to-date is the job of the database system, not the application programmer.