Databases Reference
In-Depth Information
date of Now(). 2 So if it were those versions that were the parents
in a TRI relationship, this process would continually invalidate
temporal foreign keys (TFKs) by ending the assertion time of
the versions they refer to.
Temporal Referential Integrity: The Basic
Diagram
Figure 11.1 is the basic diagram we will use in our discussion
of temporal referential integrity. It consists of timelines for three
objects. Besides policy P861, there is a timeline for client C882
and for client C903. The dotted-line vertical arrows represent
temporal foreign key (TFK) relationships from a child version
to a parent episode. Parent episodes are underlined to empha-
size that those vertical arrows are not pointing to specific vers-
ions, but rather to entire episodes.
The shaded rectangle on the left covers the effective time
period of version 2 of episode P861-A, which extends from July
2010 to May 2011. It graphically illustrates that the effective time
period of this version is wholly included in the effective
time period of an episode of its parent object, client C903, that
episode being C903-A. It also graphically shows why a TRI
relationship is between a child version and a parent episode.
No single version of C903-A could be a TRI parent to P861-
A(2), because no single version of C903-A covers [Jul 2010 -
May 2011], the effective time period for P861-A(2). 3
The shaded rectangle on the right covers [Oct 2013 - 12/31/
9999]. This is the effective time period of P861-C(8). In this case,
a single parent version effective time includes (i.e. [fills -1 ]) that
child version, but that is merely happenstance. For example,
suppose that we wanted to change client C882's name from
“Smith” to “Jones”, effective May 2014. This would make the
effective time period of C882-C(4) [Sep 2013 - May 2014]. But
if that happens, there would be no version of C882-C that could
2 This, of course, is a description of a basic temporal update transaction. But a similar
description of the mechanics of non-basic temporal updates leads to the same
conclusion, that TFKs do not point to specific versions in a parent asserted version
table.
3 We use the notation X-{A, B, . ....Z}todenote an episode of an object. Thus, C882-B
denotes episode B of client C882. We use the notation E(n) to denote a version of
an episode. Thus, P861-A(2) denotes version 2 of policy P861, included within episode
A. Note, however, that it only happens to denote the second version of that episode.
For example, P861-C(8) denotes version 8 of that policy, but that version is the second
version of that episode, not the eighth one.
 
Search WWH ::




Custom Search