This chapter describes some of the common ways to denormalize the physical implementation of a fully-normalized model. The chapter also briefly describing the popular technique of dimensional modeling and shows how the most useful attributes of a dimensional model can be emulated for a fully-normalized or partially-normalized physical database implementation through the careful use of dimensional views.
The term denormalization describes any number of physical implementation techniques that enhance performance by reducing or eliminating the isomorphic mapping of the logical database design on the physical implementation of that design. The result of these operations is usually a violation of the design goal of making databases application-neutral. In other words, a “denormalized” database favors one or a few applications at the expense of all other possible applications.
Strictly speaking, these operations are not denormalization at all. The concept of database schema normalization is logical, not physical. Logical denormalization should be avoided. Develop a fully-normalized design and then, if necessary, adjust the semantic layer of your physical implementation to provide the desired performance enhancement. Finally, use views to tailor the external schema to the usability needs of users and to limit their direct access to base tables (see “Dimensional Views” on page 186).