Databases Reference
In-Depth Information
Typically, a single standard SQL transaction will insert,
update or delete a single row in a conventional table. And typi-
cally, the corresponding temporal transaction will require two
or three physical transactions to complete. In addition, many
temporal update transactions, as we will see, and many temporal
delete cascade transactions too, can require a dozen or more
physical transactions to complete. If we attempt to maintain a
bi-temporal database ourselves, using standard SQL, then for
each semantic intention we want to express in the database,
we will have to figure out and write these multiple physical
transactions ourselves. As Chapter 7 indicated, and as Chapters 9
through 12 will make abundantly clear, that is a daunting task.
Redundancies in the Asserted Versioning
Bi-Temporal Schema
An Asserted Versioning database is a physical implementa-
tion of a logical data model, a logical model which does not
contain any mention of temporal data in the model itself. In fact,
the logical data models of Asserted Versioning databases are
indistinguishable from the logical data models of conventional
databases.
Apparent Redundancies in the Asserted Versioning
Schema
However, some data modelers have objected to an apparent
third normal form (3NF) violation in the bi-temporal schema
common to all asserted version tables. They point to the effec-
tive end date, the assertion end date and the row creation date
to support their claims. Their objections, in summary, are one
or more of the following:
(i) The effective end date is redundant because it can be
inferred from the effective begin date of the following
version.
(ii) The assertion end date is redundant because it can be
inferred from the assertion begin date of the next assertion
of a version.
(iii) The row create date is redundant because it is the same as
the assertion end date.
Now in fact, none of these objections are correct. As for the
first objection, an effective end date would be redundant if every
version of an object followed immediately after the previous
 
Search WWH ::




Custom Search