Chapter 3. Normalization: Some Generalities

Normal: see abnormal

from an early IBM PL/I reference manual

In this chapter, I want to clarify certain general aspects of further normalization before we start getting into specifics (which we’ll do in the next chapter). I’ll begin by taking a closer look at the sample value of relvar S from Figure 1-1 (repeated for convenience in Figure 3-1 below).

The suppliers relvar—sample value

Figure 3-1. The suppliers relvar—sample value

Recall now that the functional dependency (FD)

     { CITY } → { STATUS }

holds in this relvar (I’ve included an arrow in the figure to suggest this fact). Because that FD holds,[21] it turns out that the relvar is in second normal form (2NF) but not third (3NF). As a consequence, the relvar suffers from redundancy; to be specific, the fact that a given city has a given status appears many times, in general. And the discipline of further normalization—which from this point on I’ll abbreviate most of the time to just normalization, unqualified—would therefore suggest that we decompose the relvar into two relvars SNC and CT of lesser degree, as indicated in Figure 3-2 (which shows, of course, values for those relvars corresponding to the sample value shown for relvar S in Figure 3-1).

Relvars SNC and CT—sample values

Figure 3-2. Relvars SNC and CT—sample values

Points arising from this example: ...

Get Database Design and Relational Theory now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.