Chapter 9. Intersection Views

Updating intersections

Can sometimes need corrections


In this chapter and the next two, I turn my attention to intersection, union, and difference views. Of course, I’ve already said something in Chapter 6 about intersection views in particular (the subject of the present chapter)—recall that intersection is a special case of one to one join—but there’s quite a lot more to be said on the subject.

First I need to say something about the structure of the chapter. Let DB1 and DB2 be a set of base relvars and a set of views, respectively. Now, in the last few chapters, on restriction, projection, and join views, I proceeded in general terms as follows: First, I considered a particular DB1; then I considered a particular DB2 that was information equivalent to that DB1; finally, I considered another DB2 that wasn’t information equivalent to that DB1 but involved some information hiding instead. But that approach doesn’t work very well for intersection views.[100] The reason is this: Suppose DB1 consists of base relvars A and B (only) and DB2 consists of view V only, defined as the intersection of A and B (i.e., V = A INTERSECT B). Then DB2 will be information equivalent to DB1 only if A = B—in which case (as I hinted in a footnote near the end of Chapter 6) there’s not much point in defining view V in the first place.

So there’s not much point in considering the case in which A and B are equal. What’s more, there’s also not much point in considering ...

Get View Updating and Relational Theory now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.