Databases Reference
In-Depth Information
We conclude that Asserted Versioning does provide design
encapsulation for bi-temporal data, and also temporal upward
compatibility for logical data models and conventional databases.
Maintenance Encapsulation
Maintenance encapsulation protects both the user of the
database, and the developers who have to write the code that
maintains it.
This topic contains several scenarios which show a temporal
transaction—one written by a person—being applied to an
Asserted Versioning database. The early scenarios, such as those
in Chapter 7, are relatively simple. One temporal insert transac-
tion is usually translated into one physical SQL transaction. But
a temporal delete transaction, even one which does not cascade,
may require three or more physical transactions to carry it out.
Temporal update transactions will require a combination of
physical update and physical insert transactions. Temporal ret-
roactive transactions may require several dozen physical trans-
actions to complete.
Asserted Versioning's maintenance encapsulation relieves the
user of the burden of writing these SQL maintenance trans-
actions. Because of this encapsulation, the user can instead,
using the Instead Of functionality of the AVF, write a single
insert, update or delete statement. The AVF will carry out the
intentions expressed in those transactions, no matter how many
physical transactions are required to do it.
Maintenance encapsulation also protects developers. The
translation of the user's temporal transaction is done by the AVF,
not by developer-written code. The management of the one or
more physical transactions which implement each temporal trans-
action as an atomic and isolated unit of work is done by the AVF,
not by developer-written code. All bi-temporal management pro-
cesses are managed by code within the AVF; there is no bi-tempo-
ral management code for application developers to write.
We also note that temporal insert, update and delete trans-
actions, by default and without any overrides to those defaults,
insert, update and delete currently asserted data describing what
the referenced object is currently like. This provides
temporal
upward compatibility
for applications which manage conven-
tional tables.
We conclude that Asserted Versioning does provide mainte-
nance encapsulation for bi-temporal data, and also temporal
upward compatibility for maintenance transactions to conven-
tional data.
Search WWH ::




Custom Search