Chapter 12. MVDs and 4NF
Who’s on first, What’s on second, I Don’t Know’s on third
In Chapter 10, I said that 4NF, like 2NF and 3NF, is mostly of historical interest. However, that characterization is perhaps a little unfair, because:
First of all, 4NF is the normal form with respect to what are called multivalued dependencies or MVDs. Now, MVDs are really just a special kind of JD; so if you know about JDs in general, you know about MVDs already, in a sense. Nevertheless, MVDs are still worth studying in their own right (for one thing, they’re probably more common in practice than JDs that aren’t MVDs are).
Second, MVDs have a more intuitive real world interpretation than JDs in general do, and therefore tend to be a little easier to understand.
Third, MVDs, unlike JDs in general, do have an axiomatization, as we’ll see.
So let’s take a closer look.
AN INTRODUCTORY EXAMPLE
In this section and the next, I’ll examine MVDs from a comparatively informal point of view; in the section after that I’ll consider them again, but more formally, and use that more formal understanding to lead up to 4NF. I’ll begin with a definition.
Definition: A multivalued dependency (MVD) is a join dependency with exactly two components.
It follows from this definition that a nonloss decomposition on the basis of an MVD always yields exactly two projections (recall that JDs in general can be n-way for some n > 2; by contrast, MVDs are always exactly 2-way). It follows ...