Chapter 14. The Principle of Orthogonal Design
Orthogonal At right angles to; independent
Note: Portions of this chapter originally appeared, in considerably different form, in my book Date on Database: Writings 2000-2006 (Apress, 2006).
I’ll begin this chapter with a quick review of the principles of normalization and an analysis of how well normalization meets its objectives. Here’s a summary of those principles:
A relvar not in RFNF should be “fully normalized”—i.e., decomposed into a set of (at least) RFNF projections.
The original relvar should be reconstructable by joining those projections back together again—i.e., the decomposition should be nonloss.
The decomposition process should preserve dependencies (FDs and JDs)—at least if it can do so without violating Principle No. 1.
Every projection should be needed in the reconstruction process.
TWO CHEERS FOR NORMALIZATION
As I’ve repeatedly said, normalization is the science (or a large part of the science, at any rate) underlying database design. But it’s far from being a panacea, as we can easily see by considering what its goals are and how well it measures up against them. Here are those goals:
To achieve a design that’s a “good” representation of the real world (i.e., one that’s intuitively easy to understand and is a good basis for future growth)
To reduce redundancy
Thereby to avoid certain update anomalies that might otherwise occur
To simplify the statement and enforcement of certain ...