Quasilinear algorithms for processing relational calculus expressions (preliminary report)

  • Authors:
  • Dan E. Willard

  • Affiliations:
  • Department of Computer Science, University at Albany SUNY, Albany, NY

  • Venue:
  • PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

Throughout this paper q will denote a query such that I is the number of tuples inputted into the query, and U is the number of tuples in its output. We will say that q has quasi-linear complexity iff for some constant d, it is executable in time O(U + I logdI) and space O(I + U). This article will define a large subset of the relational calculus, called RCS, and show that all RCS queries are executable by quasi-linear algorithms.Our algorithm does not require the maintenance of any complex index, as it builds all the needed data structures during the course of the executing algorithm. Its exponent d can be large for some particular queries q, but it is a quite nice constant equal to 1 or 0 in most practical cases. Our algorithm is intended for data bases stored in main memory, and its time O(U + I logdI) should amount to only a few seconds of CPU time in many practical applications.Chapter 10 of this paper lists some open questions for further investigation.