The following list of temporal database terms appeared as complete
glossary entries in ``Jensen, C. S., J. Clifford, S. K. Gadia,
A. Segev, and R. T. Snodgrass: A Glossary of Temporal Database
Concepts, ACM SIGMOD Record, Vol. 21, No. 3, September 1992,
pp. 35–43.
- bitemporal relation
- A bitemporal relation is a relation with exactly one system
supported valid time and exactly one system-supported transaction
time.
- chronon
- A chronon is the shortest duration of time supported by a
temporal DBMS—it is a nondecomposable unit of time. A particular
chronon is a subinterval of fixed duration on time-line.
Various models of time have been proposed in the philosophical and
logical literature of time (e.g., van Benthem). These view time, among
other things, as discrete, dense, or continuous. Intuitively, discrete
models of time are isomorphic to the natural numbers, i.e., there is
the notion that every moment of time has a unique successor. Dense
models of time are isomorphic to (either) the real or rational
numbers: between any two moments of time there is always another.
Continuous models of time are isomorphic to the real numbers, i.e.,
both dense and also, unlike the rational numbers, with no ``gaps.''
- event
- An event is an isolated instant in time. An event is said to
occur at time t if it occurs at any time during the chronon
represented by t.
- interval
- An interval is the time between two events. It may be
represented by a set of contiguous chronons.
- lifespan
- The lifespan of a database object is the time over which it is
defined. The valid-time lifespan of a database object refers to the
time when the corresponding object exists in the modeled reality,
whereas the transaction-time lifespan refers to the time when the
database object is current in the database.
If the object (attribute, tuple, relation) has an associated timestamp
then the lifespan of that object is the value of the timestamp. If
components of an object are timestamped, then the lifespan of the
object is determined by the particular data model being employed.
- snapshot relation
- Relations of a conventional relational database system incorporating
neither valid-time nor transaction-time timestamps are snapshot
relations.
- snapshot, valid- and transaction-time, and bitemporal as
modifiers
- The definitions of how ``snapshot,'' ``valid-time,''
``transaction-time,'' and ``bitemporal'' apply to relations provide
the basis for applying these modifiers to a range of other concepts.
Let x be one of snapshot, valid-time, transaction-time, and
bitemporal. Twenty derived concepts are defined as follows (+E1).
- relational database
- An x relational database contains
one or more x relations.
- relational algebra
- An x relational algebra has relations
of type x as basic objects.
- relational query language
- An x relational query language
manipulates any possible x relation. Had we used
``some'' instead of ``any'' in this definition, the
defined concept would be very imprecise (-E9).
- data model
- An x data model has an x query language and
supports the specification of constraints on any x
relation.
- DBMS
- An x DBMS supports an x data model.
The two model-independent terms, data model and DBMS, may be
replaced by more specific terms. For example, ``data model'' may be
replaced by ``relational data model'' in ``bitemporal data model.''
- span
- A span is a directed duration of time. A duration is an amount
of time with known length, but no specific starting or ending
chronons. For example, the duration ``one week'' is known to have a
length of seven days, but can refer to any block of seven consecutive
days. A span is either positive, denoting forward motion of time, or
negative, denoting backwards motion in time.
- temporal as modifier
- The modifier temporal is used to indicate that the modified
concept concerns some aspect of time.
- temporal database
- A temporal database supports some aspect of time, not counting
user-defined time.
- temporal element
- A temporal element is a finite union of n-dimensional time
boxes. Temporal elements are closed under the set theoretic operations
of union, intersection and complementation.
Temporal elements may be used as timestamps. Special cases of
temporal elements occur as timestamps in valid-time relations,
transaction-time relations, and bitemporal relations. These special
cases are termed valid-time elements, transaction time
elements, and bitemporal elements. They are defined as finite
unions of valid-time intervals, transaction-time intervals, and
bitemporal rectangles, respectively.
- temporal expression
- A temporal expression is a syntactic construct used in a query
that evaluates to a temporal value, i.e., an event, an interval, a
span, or a temporal element.
In snapshot databases, expressions evaluate to relations and therefore
they may be called relational expressions to differentiate them from
temporal expressions. All approaches to temporal databases allow
relational expressions. Some only allow relational expressions, and
thus they are unisorted. Some allow relational expressions, temporal
expressions and also possibly boolean expressions. Such expressions
may defined through mutual recursion.
- temporally homogeneous
- A temporal tuple is temporally homogeneous if the lifespan
of all attribute values within it are identical. A temporal relation is
said to be temporally homogeneous if its tuples are temporally
homogeneous. A temporal database is said to be temporally homogeneous
if all its relations are temporally homogeneous. In addition to being
specific to a type of object (tuple, relation, database), homogeneity
is also specific to some time dimension, as in ``temporally
homogeneous in the valid-time dimension'' or ``temporally homogeneous
in the transaction-time dimension.''
The motivation for homogeneity arises from the fact that no timeslices
of a homogeneous relation produce null values. Therefore a homogeneous
relational model is the temporal counterpart of the snapshot
relational model without nulls. Certain data models assume temporal
homogeneity. Models that employ tuple timestamping rather than
attribute value timestamping are necessarily temporally
homogeneous—only temporally homogeneous relations are possible.
- time-invariant attribute
- A time-invariant attribute is an attribute whose value is
constrained to not change over time. In functional terms, it is a
constant-valued function over time.
- timestamp
- A timestamp is a time value associated with some time-stamped
object, e.g., an attribute value or a tuple. The concept may be
specialized to valid timestamp, transaction timestamp, interval
timestamp, event timestamp, bitemporal element timestamp, etc.
- transaction time
- A database fact is stored in a database at some point in time, and
after it is stored, it may be retrieved. The transaction time
of a database fact is the time when the fact is stored in the
database. Transaction times are consistent with the serialization
order of the transactions. Transaction time values cannot be after the
current time. Also, as it is impossible to change the past,
transaction times cannot be changed. Transaction times may be
implemented using transaction commit times.
- transaction-time relation
- A transaction-time relation is a relation with exactly one
system supported transaction time. As for valid-time relations, there
are no restrictions as to how transaction times may be associated with
the tuples.
- transaction timeslice operator
- The transaction timeslice operator may be applied to any
relation with a transaction time. It also takes as argument a time
value not exceeding the current time, NOW. It returns the
state of the argument relation that was current at the time specified
by the time argument.
- user-defined time
- User-defined time is an uninterpreted attribute domain of date
and time. User-defined time is parallel to domains such as ``money''
and integer—unlike transaction time and valid time, it has no
special query language support. It may be used for attributes such as
``birth day'' and ``hiring date.''
Conventional database management systems generally support a time
and/or date attribute domain. The SQL2 standard has explicit support
for user-defined time in its datetime and interval types.
- valid time
- The valid time of a fact is the time when the fact is true in
the modeled reality. A fact may have associated any number of events
and intervals, with single events and intervals being important
special cases.
- valid-time relation
- A valid-time relation is a relation with exactly one system
supported valid time. In agreement with the definition of valid time,
there are no restrictions on how valid times may be associated with
the tuples (e.g., attribute value time stamping may be employed).
- valid timeslice operator
- The valid timeslice operator may be applied to any relation
with a valid time. It takes as argument a time value. It returns
the state of the argument relation that was valid at the time of the
time argument.