Subject: Proposed glossary entries.

From: "Christian S. Jensen" <[email-masked]>
Date: Tue, 9 Mar 1993 17:28:14 +0100

I propose the following glossary entries.

Best regards,
Christian S. Jensen
Aalborg University

\subsection{Temporal Selection}

\entry{Definition}

Facts are extracted from a temporal database by means of {\em temporal
selection} when the selection predicate involves the times associated
with the facts.

The generic concept of temporal selection may be specialized to
include {\em valid-time selection,} {\em transaction-time selection,}
and {\em bitemporal selection}. For example, in valid-time selection,
facts are selected based on the values of their associated valid
times.

\entry{Alternative Names}

None.

\entry{Discussion}

Query languages supporting, e.g., valid-time data, generally provide
special facilities for valid-time selection which are built into the
languages.

The name has already been used extensively in the literature by a wide
range of authors (+E3), it is consistent with the unmodified notion of
selection in (non-temporal) databases (+E1, +E7), and it appears
intuitive and precise (+E8, +E9).

\subsection{Temporal Projection}

\entry{Definition}

In a query or update statement, {\em temporal projection} pairs the
computed facts with their associated times, usually derived from the
associated times of the underlying facts.

The generic notion of temporal projection may be applied to various
specific time dimensions. For example, {\em valid-time projection}
associates with derived facts the times at which they are valid,
usually based on the valid times of the underlying facts.

\entry{Alternative Names}

Temporal assignment.

\entry{Discussion}

While almost all temporal query languages support temporal projection,
the flexibility of that support varies greatly.

In some languages, temporal projection is implicit and is based the
intersection of the times of the underlying facts. Other languages
have special constructs to specify temporal projection.

The name has already been used extensively in the literature (+E3).
It derives from the {\tt retrieve} clause in Quel as well as the {\tt
SELECT} clause in SQL, which both serve the purpose of the relational
algebra operator projection, in addition to allowing the specification
of derived attribute values.

A related concept, denoted a temporal assignment, is roughly speaking
a function that maps a set of time values to a set of values of an
attribute. One purpose of a temporal assignment would be to indicate
when different values of the attribute are valid.

\comment{The term is used in, e.g., ACM Computing Surveys, ACM TODS,
ACM SIGMOD, and it is used by unrelated authors}

\subsection{Temporal Dependency}

\entry{Definition}         

Let $X$ and $Y$ be sets of explicit attributes of a temporal relation
schema, $R$. A {\em temporal functional dependency\/}, denoted $X
\stackrel{\mbox{\rm\tiny T}}{\rightarrow} Y$, exists on $R$ if, for
all instances $r$ of $R$, all snapshots of $r$ satisfy the functional
dependency $X \rightarrow Y$.

Note that more specific notions of temporal functional dependency
exist for valid-time, transaction-time, bitemporal, and spatiotemporal
relations. Also observe that using the template for temporal
functional dependencies, temporal multivalued dependencies may be
defined in a straight-forward manner.

Finally, the notions of temporal keys (super, candidate, primary)
follow from the notion of temporal functional dependency.

\entry{Alternative Names}

Independence, dependence.

\entry{Discussion}

Temporal functional dependencies are generalizations of conventional
functional dependencies. In the definition of a temporal functional
dependency, a temporal relation is perceived as a collection of
snapshot relations. Each such snapshot of any extension must satisfy
the corresponding functional dependency.

Other (conflicting) notions of of temporal dependencies and keys have
been defined, but none are as closely paralleled by snapshot
dependencies and keys as the above. The naming of the concepts is
orthogonal with respect to existing snapshot concepts, and the new
names are mutually consistent (+E1, +E7).

Related notions of independent and dependent attributes exist. Using
temporal as a prefix distinguishes the concept from conventional
dependencies and points to the specific nature of the dependency.
Thus ambiguity is avoided (+E5), and precision is enhanced (+E9)---at
the expense of brevity ($-$E2).

``Temporal dependency'' has also been used in a non-generic sense, to
denote a different concept. The term ``temporal'' is often used in a
generic sense, so ambiguity results when it is also used in a specific
sense. Thus ``temporal'' is used here only in a generic sense.

\subsection{Temporal Normal Form}

\entry{Definition}

A pair $(R, F)$ of a temporal relation schema $R$ and a set of
associated temporal functional dependencies $F$ is in {\em temporal
Boyce-Codd normal form} (TBCNF) if

\[\forall \; X \stackrel{\mbox{\rm\tiny T}}{\rightarrow} Y \; \in
F^+ \; (Y \subseteq X \vee X \stackrel{\mbox{\rm\tiny T}}{\rightarrow}
R)\]
where $F^+$ denotes the closure of $F$ and $X$ and $Y$ are sets of
attributes of $R$.

Similarly, $(R, F)$ is in {\em temporal third normal form} (T3NF) if
for all non-trivial temporal functional dependencies $ X
\stackrel{\mbox{\rm\tiny T}}{\rightarrow} Y$ in $F^+$, $X$ is a
temporal superkey for $R$ or each attribute of $Y$ is part of a
minimal temporal key of $R$.

The definition of {\em temporal fourth normal form} (T4NF) is similar
to that of TBCNF, but also uses temporal multivalued dependencies.

\entry{Alternative Names}

Time normal form, P normal form, Q normal form, first temporal normal
form.

\entry{Discussion}

The three temporal normal forms mentioned in the definition are not a
complete account of temporal normal forms. Indeed, the alternative
names refer to different and complementing notions of temporal normal
forms.

The naming of the concepts is orthogonal with respect to existing
snapshot concepts, and the new names are mutually consistent (+E1,
+E7).