Databases Reference
In-Depth Information
the transaction. If it finds a match, but the oid of the
matching row does not match the oid on the transaction,
the AVF rejects the transaction. If it does not find a match,
and the oid on the transaction does not match any oid
already in use, the AVF accepts the transaction. And if it
does not find a match, but the oid on the transaction does
match an oid already in use, the AVF rejects the transac-
tion. The reason behind all this logic is that when both
an oid and a reliable business key are present, any conflict
makes the transaction invalid.
(viii) Oid present, business key present, business key is not
reliable. In this case, the AVF accepts the insert and uses
the oid supplied with it. The reason is that if the business
key is not reliable, it doesn't matter, and so the AVF pro-
ceeds as though the business key were not there. And if
the oid is already in use, that doesn't matter. If it is in
use, and there is a collision in time periods, temporal
entity integrity checks will catch it. Note that if the oid is
in use, and there is no collision in time periods, then if
the business key is a new one, the result of applying the
transaction is to assign a new business key to an object,
in clock ticks not previously occupied by that object.
The Temporal Insert Transaction: Semantics
In a conventional table, if an object is not represented and
the user wishes to represent it, she issues an insert transaction
which creates a row that does just that. The insert transaction
expresses not only her intentions, but also her beliefs. It
expresses her intention to create a representation of an object,
as it currently exists, in the target table. But it also expresses
her belief that such a representation does not already exist. 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 already represented during all or part of the
target timespan indicated on the transaction. If the user sub-
mits a temporal insert transaction, she also expresses both
intention and belief. Her intention is to create a representation
of an object in an effective time target span. Her belief is that
such a representation does not already exist anywhere in 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.
Search WWH ::




Custom Search