Towards General Temporal Aggregation
Michael H. B¨ ohlen
1
, Johann Gamper
1
, and Christian S. Jensen
2
1
Free University of Bozen-Bolzano, Italy
{boehlen,gamper}@inf.unibz.it
2
Aalborg University, Denmark
csj@cs.aau.dk
Abstract. Most database applications manage time-referenced, or temporal,
data. Temporal data management is difficult when using conventional database
technology, and many contributions have been made for how to better model,
store, and query temporal data. Temporal aggregation illustrates well the prob-
lems associated with the management of temporal data. Indeed, temporal aggre-
gation is complex and among the most difficult, and thus interesting, temporal
functionality to support. This paper presents a general framework for temporal
aggregation that accommodates existing kinds of aggregation, and it identifies
open challenges within temporal aggregation.
1 Introduction
In database management, aggregation refers to the process of consolidating, or sum-
marizing, a database instance; this is typically done by creating so-called aggregation
groups of elements in the database and then applying an aggregation function, e.g., avg ,
count , or min , to each group, thus obtaining an aggregate value for each group.
In early work, Klug [6] put forward a formal relational database framework that en-
compassed aggregation. In his framework, aggregation is performed according to two
parameters: (1) a set of attributes drawn from an argument relation, termed grouping
attributes, and (2) pairs of a new attribute name and an aggregation function. The tu-
ples in the relation are partitioned so that tuples with identical values for the grouping
attributes are assigned to the same group. For each of the resulting aggregation groups,
each aggregation function is evaluated on the tuples in the group, and the result is stored
as a value of the associated attribute for each tuple in the group.
In temporal databases, tuples are typically stamped with time intervals that capture
the valid time of the information, or facts, they record. During the 1980’s, aggregation
was incorporated in several query languages, e.g., Ben-Zvi’s Time Relational Model [1],
Navathe and Ahmed’s TSQL [7], Snodgrass’ TQuel [8], and a proposal by Tansel [10].
Some of these advances were subsequently consolidated in the TSQL2 proposal [9].
When aggregating temporal relations, it is meaningful to also group the tuples ac-
cording to their timestamp values. With temporal grouping, groups of values from the
time domain are formed. A tuple is then assigned to each group that overlaps with its
timestamp, this way obtaining groups of tuples. When an aggregation function is ap-
plied to the groups of tuples, a temporal relation results. Different kinds of temporal
groupings have emerged as being important. In instant temporal aggregation, the time
A. Gray, K. Jeffery, and J. Shao (Eds.): BNCOD 2008, LNCS 5071, pp. 257–269, 2008.
c Springer-Verlag Berlin Heidelberg 2008
LNCS 5071, pp 257-269, July 2008.
(URL: http://www.springerlink.com/content/xx4718762600/)
Copyright © Springer-Verlag