Microsoft Windows Architecture for Developers Training Kit

Denormalization

There are tradeoffs between a highly normalized database design and an intelligently denormalized design. When a database is highly normalized, the large number of links between related tables puts more demands on server resources during operations such as queries. The process of selective and intelligent denormalization can improve performance by making more efficient use of processor resources. Several strategies can be used to denormalize .

click to view at full size.

Figure 6.18 Denormalization Strategies

Introduce Redundancy

If the normalized design results in many four-way or greater join relationships, consider introducing redundancy at the attribute (column) or entity (table) level as follows :

Adding data redundancy to denormalize a database eliminates the overhead accessing additional tables.

Redefine Attributes

Redefine attributes to reduce the data width of an entity as follows:

This technique reduces the size of table columns to reduce server resources used during database queries and other operations.

Redefine Entities

Redefine entities (tables) to reduce the overhead of extraneous attribute (column) data or row data. Appropriate types of associated denormalization are:

Lesson Summary

Once a relational database has been designed, it should be normalized. An optimal relational database is typically developed using entity-relationship modeling and normalization.

Entity-relationship modeling defines the structure of a relational database. Normalization is a process used to develop a well-designed, optimized and logical database schema before construction of the database begins.

In some cases, such as to relieve demands on system resources during queries, you may want to denormalize a database. Selective and intelligent denormalization can improve performance by making more efficient use of processor resources.

Категории