Temporal joins occur in queries that have to relate data from at least two relations in a temporal context. The most frequent temporal context is probably `same time', such as facts that are required to be valid at the same time. Translated into relationships between interval timestamps this frequently means
Imagine, for example, a manager who analyses the summer sales figures and tries to find out why sales went up this year. He might want to relate the sales with the hotter weather, the general rise in wages, the favourable exchange rate, the floatation of several building societies (and its implication that there is more money in consumers' pockets) or other facts that can influence customer behaviour. Assume that such data is kept in various relations. One of the few possibilities to associate the data from the various sources is to relate them temporally, using a `same time' context. In terms of query processing this translates into executing temporal joins.
In fact, many analysis attempts that seek to confirm causality
between two or more trends or effects have to start by relating the
underlying data in terms of their temporal context. This only reflects
the way in which we analyse many things ourselves: whenever we
investigate the cause of a certain effect we try to figure out what
other effects / events happened at the same
time, possibly at the
same place.
For that reason, relating data temporally is a feature which is supported by many decision support tools. Such tools are usually part of a decision support systems (DSS) which itself is frequently built on top of a data warehouse (see figure 2.5). In other words: decision support tools are liable to create complex queries involving temporal joins. These queries have to be efficiently supported by the underlying database technology. This is one aspect of the relationship between temporal databases and data warehouses which we already elaborated in section 2.4.