Databases Reference
In-Depth Information
Completeness Checks
We have now used all three temporal transactions, in a variety
of situations. There are several ways to categorize the situations
which temporal transactions might encounter, but we con-
cluded, a couple of chapters ago, that we could not provide an
example for all of them. Nonetheless, we would like some assur-
ance that any semantically valid request to transform one or
more asserted version tables from one state to another state
can be made with temporal transactions and can be carried
out with the physical transactions that the AVF maps them into.
We know of two ways to do this. One is with the Allen
relationships. The other is with our taxonomy of temporal extent
state transformations. The relationship of these two ways of
demonstrating completeness is this. While we will use the Allen
relationships to compare temporal transactions to their target
episodes, we will use the temporal extent state transformations
to compare before and after states of a target database.
An Allen Relationship Completeness Check
First of all, it is well established that the Allen relationships are a
mutually exclusive and jointly exhaustive set of all the possible
relationships between two time periods along a common timeline
that are based on the temporal precedence and succession of
one to the other ( Figure 10.20 ). We ourselves derived precisely those
Allen relationships as the leaf nodes in a taxonomy of our own
invention. Since taxonomies are tools for demonstrating mutual
exclusion and joint coverage of an original root node, this is further
proof, if any were needed, of the validity of the Allen relationships.
In the case of temporal transactions, one of those two Allen
relationship time periods is the effective time period specified
on the transaction. The other time period is the effective time
period of each episode and version to which those transactions
may apply.
We should also remind ourselves that when we compare any
two time periods in effective time, we are assuming that they
exist in shared assertion time. When one of those time periods
is on a transaction, that assertion time cannot begin in the past,
and usually begins Now(); and the assertion time specified on
the transaction always extends to 12/31/9999.
[Before], [before -1 ]. When a temporal transaction's effective
time is non-contiguous with that of any episodes of the same
object already in the target table, a temporal insert will {create}
a new episode of the object. In Allen relationship terms, this
 
Search WWH ::




Custom Search