I’ve deliberately left this section to the very end of the chapter (almost). Consider the shipments relvar SP, with its predicate Supplier SNO supplies part PNO in quantity QTY. Consider also the relation shown as the value of that relvar in Figure 1-1 in Chapter 1. Observe that:
Two of the tuples in that relation are (S1,P5,100) and (S1,P6,100).
Both of those tuples include (S1,100) as a subtuple.
What do those two appearances of that subtuple mean? Well, the appearance in (S1,P5,100) means:
Supplier S1 supplies some part in quantity 100.
(I’ve numbered this proposition—note that it is indeed a proposition—for purposes of future reference.) And the appearance in (S1,P6,100) means exactly the same thing! So don’t we have here a situation in which the database contains two distinct appearances of some tuple that represent the very same proposition? In other words, in accordance with the definition I gave in the introduction to this chapter, doesn’t the database contain some redundancy?
Before I try to answer this question, I want to offer a simpler illustration of the same point. With reference again to Figure 1-1, consider the six shipment (SP) tuples shown in that figure for supplier S1. Clearly, those tuples all contain the subtuple (S1), of degree one. And those six appearances of that subtuple all mean the same thing:
Supplier S1 supplies some part in some quantity.
We could even take the argument one step further and consider the fact that every SP tuple—in ...