Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
3.1 With reference to the sample value shown for relvar STP in Chapter 1 (Figure 1-2), we can’t insert the fact that supplier S5 has status 30 until supplier S5 supplies some part; we can’t delete the shipment for supplier S3 without losing the fact that supplier S3 has status 30; and we can’t change the status in one tuple for a given supplier, say supplier S1, without changing it in all of them. The obvious decomposition is into relvars with headings {SNO,STATUS} and {SNO,PNO,QTY}; it’s also obvious that this decomposition avoids the anomalies. Note: It’s worth pointing out in passing that the insertion and deletion anomalies are caused by the fact that the design is logically incorrect, whereas the modification anomaly is caused by the fact that it’s redundant (see Exercise 3.3).