Databases Reference
In-Depth Information
completed. The delete withdraws any such representations into
past assertion time, leaving those corresponding effective time
clock ticks unoccupied by the object in current assertion time.
The Temporal Delete Transaction: Semantics
In a conventional table, if an object is represented and the
user wishes to delete it, she issues a delete transaction which
deletes the one row representing the object. And once again, this
kind of transaction expresses not only her intentions, but also
her beliefs. It expresses her intention to delete a row
representing an object, but it also expresses her belief that such
a row is currently there to delete. If she is mistaken in her belief,
her transaction is rejected, which is precisely what she would
expect and want to happen.
In an asserted version table, the question is not whether or
not the object is already represented, but rather whether or not
the object is represented, in current assertion time, within the
target effective time span. If the user submits a temporal delete
transaction, she also expresses both intention and belief. Her
intention is to remove the representation of an object from the
indicated timespan. Her belief is that such a representation
already exists in one or more of the clock ticks within that target
span. If she is mistaken in her belief, her transaction is rejected,
which is precisely what she would expect and want to happen.
The Temporal Delete Transaction: Mechanics
The scope of a conventional delete is a single row in the target
table. If the transaction is successful, the result is that the
designated row is deleted from the table. The scope of a tempo-
ral delete is any set of one or more contiguous effective time
clock ticks at least one of which contains a representation of
the object. So, in Figure 9.6 , it must include at least one of the
clock ticks occupied by Episodes A, B or C.
In Chapter 7, we looked at a basic temporal delete transac-
tion, submitted in December 2010, that specified a target
timespan of [Now() - 12/31/9999], and we saw what the AVF
did in response to that transaction. It found that an episode
did exist whose effective time period [intersected] that target
span. It split that episode into two parts. The part from the
episode's begin date to (the then-current value of ) Now() lay out-
side the target timespan, while the part from Now() to the end of
the episode was found to lie entirely within the target timespan.
This split occurred within the latest version of that episode. So
the AVF split that version, withdrew it, and replaced the effective
Search WWH ::




Custom Search