O'Reilly logo

View Updating and Relational Theory by Chris Date

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 11. Difference Views

I’ll teach you differences: away, away!

William Shakespeare:

In this chapter I’ll consider the question of updating through the relational difference operator (MINUS, in Tutorial D). Now, I’m sure you won’t be surprised to learn the chapter is fairly similar in structure to its immediate predecessors, on intersection and union. However, it also differs—how appropriate!—in certain important respects, as you’ll quickly see. To elaborate briefly: Suppose we’re given two relvars A and B. Clearly, if A = B, the difference A MINUS B and the difference B MINUS A are both empty, so that case isn’t very interesting. Also, if A and B are disjoint, then A MINUS B is equal to A and B MINUS A is equal to B, so that case isn’t very interesting either. So the interesting case is the one in which A and B aren’t equal but do overlap. As in Chapter 9, therefore (on intersection), I’ll consider two examples, one in which the overlap is explicit and one in which it’s merely implicit. For reasons that will become clear later, however, this time I want to consider the implicit case first.

Example 1: Implicit Overlap

My first example is based once again on the “parts on sale” vs. “parts in stock” example from Chapters Chapter 9 and Chapter 10. Once again, then, we have two relvars PL and PK, each with just a single attribute PNO—relvar PL gives part numbers for parts on sale, and relvar PK gives part numbers for parts in stock. Now, there are obviously two possible differences ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required