Databases Reference
In-Depth Information
Non-Temporal, Uni-Temporal and
Bi-Temporal Data
Figure Part 1.1 is an illustration of a row of data in three dif-
ferent kinds of relational table. 1 id is our abbreviation for
“unique identifier”, PK for “primary key”, bd 1 and ed 1 for one pair
of columns, one containing the begin date of a time period and
the other containing the end date of that time period, and bd 2
and ed 2 for columns defining a second time period. 2 For the sake
of simplicity, we will use tables that have single-column unique
identifiers.
The first illustration in Figure Part 1.1 is of a non-temporal table.
This is the common, garden-variety kind of table that we usually
deal with. We will also call it a conventional table. In this non-
temporal table, id is the primary key. For our illustrative purposes,
all the other data in the table, no matter how many columns it
consists of, is represented by the single block labeled “data”.
In a non-temporal table, each row stands for a particular
instance of what the table is about. So in a Customer table, for
example, each row stands for a particular customer and each
customer has a unique value for the customer identifier. As long
as the business has the discipline to use a unique identifier value
for each customer, the DBMS will faithfully guarantee that the
Customer table will never concurrently contain two or more
rows for the same customer.
PK
non-temporal
id
data
|------
PK
-----|
uni-temporal
id
bd 1
ed 1
data
|------------ PK -----------|
bd 1
ed 1
bd 2
ed 2
bi-temporal
id
data
Figure Part 1.1 Non-Temporal, Uni-Temporal and Bi-Temporal Data.
1 Here, and throughout this topic, we use the terminology of relational technology, a
terminology understood by data management professionals, rather than the less well-
understood terminology of relational theory. Thus, we talk about tables rather than
relations, and about rows in those tables rather than tuples.
2 This topic illustrates the management of temporal data with time periods delimited
by dates, although we believe it will be far more common for developers to use
timestamps instead. Our use of dates is motivated primarily by the need to display
rows of temporal data on a single printed line.
Search WWH ::




Custom Search