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