AuthorKline, Rodger Nickels
AdvisorSnodgrass, Richard T.
MetadataShow full item record
PublisherThe University of Arizona.
RightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
AbstractTemporal database systems extend relational database systems to support time-varying information. One important such extension is support for time-varying aggregate functions, such as a time-varying average. Our research will show that temporal aggregates may be specified in a semantically well defined manner yet be efficiently implemented as simple extensions to relational databases. We introduce a taxonomy of temporal aggregation, based on a study of all major temporal query languages containing aggregates. The taxonomy categorizes the expressiveness and functionality of temporal aggregation. Based on this taxonomy, we introduce extensions to TSQL2 for temporal aggregation. The proposed language constructs allow one to express the variety of features identified in the taxonomy. We briefly discuss the semantics for the temporal aggregate language extension. We introduce an operator for evaluating temporal aggregates in a temporal relational algebra; the operator was designed to implement the tuple semantics. We show that theoretically, the most efficient evaluation of a temporal aggregate over a relation with n unique timestamps requires Θ(n log n) time, with O(n log n) space in any decision tree algorithm. We provide an example algorithm meeting these requirements, utilizing a 2-3 tree. Based on the requirements for evaluation of the algebraic operator, we introduce a series of main memory algorithms for evaluating temporal aggregates, including the aggregation tree, k-ordered aggregation tree, the chalkboard algorithm, the linked-list algorithm, and show how to perform aggregation using a 2-3 tree. The algorithms exhibit different applicability depending on aspects of the input relation, including sort order, percentage of long-lived tuples, and number of tuples. We also provide an algorithm which executes using only a user-limited amount of memory, the paging aggregation tree. We characterize the effectiveness of these algorithms based on an empirical study of their performance.
Degree ProgramGraduate College