So far the notion of one JD implying another has been more or less syntactic in nature—I haven’t really paid much attention to the question of whether the JDs we’re talking about actually hold in some given relvar. (Observe that neither the definition of irrelevant components, nor the theorem about replacing components by their union, made any mention of a relvar, nor even of a heading.) Now, however, let’s consider JDs that do actually hold in some relvar. Then we have the following theorem:

**Theorem:**Let JD*J*hold in relvar*R*; then*J*is**equivalent**to some irreducible JD (not necessarily unique) that also holds in*R*. Note, however, that*equivalence*here has to be understood in the context of some particular relvar; it’s possible for two JDs both to hold in one relvar and not both to hold in another. In such a case, the two JDs might or might not be equivalent with respect to the first relvar, but they’re certainly not equivalent with respect to the second.

I’ll explain exactly what it means for a JD to be irreducible in a moment. Before I do, however, let me just remind you of a parallel with the world of FDs. Recall from Part II of this book that every FD that holds in relvar *R* implies some irreducible FD that also holds in relvar *R*. (This is easy to see: Just keep dropping attributes from the determinant until what remains is an FD that no longer holds.) Similarly, every JD that holds in relvar *R* implies—in fact, is equivalent to (a stronger statement)—some irreducible ...

Start Free Trial

No credit card required