Databases Reference
In-Depth Information
Chapter 12
M V D s a n d 4 N F
Who's on first, What's on second, I Don't Know's on third
─Bud Abbott and Lou Costello: Naughty Nineties
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.
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 further that the following JD (for example) is in fact an MVD:
{ { SNO , SNAME , CITY } , { CITY , STATUS } }
Now, we've seen this particular JD repeatedly in this topic; it holds in relvar S. But didn't I say in Chapter 9 that
this JD was implied by a functional dependency: viz., the FD {CITY} → {STATUS}? Indeed I did; what the
example shows, therefore, is that some MVDs are implied by FDs. But not all are, and as you'd probably expect it's
the ones that aren't that are the interesting ones, in a sense. So let's take a look at one of those “interesting ones.”
Search WWH ::

Custom Search