Databases Reference
In-Depth Information
(for example, query results) would not be temporal. For example, the answer
to the query Get the names of all persons we have ever employed might be
obtained from some temporal database, but is not itself a temporal relation.
And it would be a strange DBMS indeed—certainly not a relational one—that
would let us obtain results that could not themselves be kept in the database.
In this chapter, therefore, we take a temporal database to be a database
that does include some temporal data but is not limited to temporal data
only. The rest of the chapter discusses such databases in detail. The plan for
this chapter, then, is as follows:
The remainder of the present section and Section 5.3 set the scene
for subsequent sections; in particular, Section 5.3 shows why tempo-
ral data seem to require special treatment.
·
Sections 5.4 and 5.5 introduce intervals as a convenient way of
timestamping data. Sections 5.6 and 5.7 then discuss a variety of
scalar and aggregate operators for dealing with such intervals.
·
Section 5.8 introduces some important new relational operators for
operating on temporal relations.
·
Section 5.9 examines the question of integrity constraints for tem-
poral data.
·
Section 5.10 discusses the special problems of updating such data.
·
Section 5.11 proposes some relevant (and possibly novel) database
design ideas.
·
Section 5.12 discusses a few miscellaneous issues that could not con-
veniently be handled elsewhere.
·
Finally, Section 5.13 presents a summary.
·
Note: It is important to understand that—with just one exception, the interval
type generator introduced in Section 5.5—all of the new operators and other
constructs to be discussed in what follows are only shorthand. That is, they can
all be expressed (albeit only very long-windedly, sometimes) in terms of fea-
tures already available in a complete relational language such as Tutorial D.
3
We will justify this claim as we proceed (in some cases but not all).
3.
Tutorial D is a hypothetical language used as a basis for many examples in this chapter,
especially in Section 5.8. It might be characterized loosely as a Pascal-like language. It is
defined in detail in [3], but we think the examples used in this chapter are so self-
explanatory as to avoid any need to refer to that definition.
 
Search WWH ::




Custom Search