Databases Reference
In-Depth Information
What about the case in which DB2 consists only of views of the relvars in DB1 but DB2
and DB1 are not information equivalent? 15 Well, notice first that, precisely because the relvars
in DB2 are derived from those in DB1 , there can't be any propositions that can be represented by
DB2 and not by DB1 —or, turning this statement around, everything that can be represented by
DB2 can certainly be represented by DB1 , but the converse is false. In general, therefore, there
might still be some updates on DB2 that can be implemented in terms of updates on DB1 . At the
same time, there'll certainly be updates on DB2 that can't be implemented in this way (because
there's not enough information available), and those updates must therefore fail. The structure of
the argument in the next several chapters is thus as follows:
1. When we do have information equivalence, it should always be possible to update DB2 (the
views) in a logically correct fashion, and I'll explain the rules for doing so as carefully as I
can.
2. Even when we don't have information equivalence, sometimes it'll be possible to apply the
view updating rules anyway (albeit only partially, perhaps), and I'll discuss such cases in
detail too. But I must stress that updating in such cases can lead to results that, while of
course always formally predictable and well defined, might sometimes be undesirable—
possibly even unacceptable for some reason. Because of this state of affairs, I leave to
others (perhaps the individual user, perhaps the DBA, perhaps even the DBMS) the choice
as to whether updates should in fact be allowed in such situations.
3. When the rules don't apply at all—and I'll explain when they don't—then as I've said
updates will necessarily fail. Note: I do have a few further remarks to make in connection
with this case, however, but I'll defer those remarks to the very end of Chapter 5.
CONCLUDING REMARKS
To close this chapter, I have a few miscellaneous observations. First of all, I want to say
something about terminology. This topic is, of course, all about views, and I hope it goes
without saying that when I use the term view , I do so in the original sense—the sense, that is, in
15 In Database Design and Relational Theory , I argue that such a DB2 is logically incorrect (or at least incomplete), in the sense
that it's incapable of representing certain facts about the real world that we want to be able to represent. David McGoveran
would say it's not expressively complete . Moreover, note that what we have here is exactly a case of what earlier in the chapter I
referred to as information hiding : Users of DB2 are seeing only part of the picture, as it were, and it's only to be expected that
there'll be operations they can't be allowed to perform.
Search WWH ::




Custom Search