Databases Reference
In-Depth Information
In addition, these authors do not attempt, in their topic, to
explain how this method of managing temporal data would work
with current relational technology. Like much of the computer
science research on temporal data, they allude to SQL operators
and other constructs that do not yet exist, and so their book is in
large part a recommendation to the standards committees to
adopt the changes to the SQL language which they describe.
Because our own concern is with how to implement temporal
concepts with today's technologies, and also with how to sup-
port both kinds of uni-temporal data, as well as fully bi-temporal
data, we will have little more to say about the alternative tempo-
ral model in this topic.
Best Practices
Over several decades, a best practice has emerged in manag-
ing temporal queryable state data. It is to manage this kind of
data by versioning otherwise conventional tables. The result is
versioned tables which, logically speaking, are tables which com-
bine the history tables and current tables described previously.
Past, present and future states of customers, for example, are
kept in one and the same Customer table. Corrections may or
may not be flagged; but if they are not, it will be impossible to
distinguish versions created because something about a cus-
tomer changed from versions created because past customer
data was entered incorrectly. On the other hand, if they are
flagged, the management and use of these flags will quickly
become difficult and confusing.
There are many variations on the theme of versioning, which
we have grouped into four major categories. We will discuss
them in Chapter 4.
The IT community has always used the term “version” for this
kind of uni-temporal data. And this terminology seems to reflect
an awareness of an important concept that, as we shall see, is cen-
tral to the Asserted Versioning approach to temporal data. For the
term “version” naturally raises the question “A version of what?”, to
which our answer is “A version of anything that can persist and
change over time”. This is the concept of a persistent object, and
it is, most fundamentally, what Asserted Versioning is about.
Bi-Temporal State Data
We now come to our second option, which is to manage
both versions and assertions and, most importantly, their
interdependencies. This is bi-temporal data management, the
subject of both Dr. Rick Snodgrass's book [2000, Snodgrass] and
of our topic.
Search WWH ::




Custom Search