## Indexing for data models with constraints and classes (1996)

### Cached

### Download Links

- [faculty.cse.tamu.edu]
- [wilma.cs.brown.edu]
- [ftp.cs.duke.edu]
- [www.cs.purdue.edu]
- [faculty.cse.tamu.edu]
- [www.cs.duke.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Journal of Computer and System Sciences |

Citations: | 114 - 20 self |

### BibTeX

@ARTICLE{Kanellakis96indexingfor,

author = {Paris Kanellakis and Sridhar Ramaswamy and Darren E. Vengroff and Jeffrey Scott Vitter},

title = {Indexing for data models with constraints and classes},

journal = {Journal of Computer and System Sciences},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

We examine I O-efficient data structures that provide indexing support for new data models. The database languages of these models include concepts from constraint programming (e.g., relational tuples are generated to conjunctions of constraints) and from object-oriented programming (e.g., objects are organized in class hierarchies). Let n be the size of the database, c the number of classes, B the page size on secondary storage, and t the size of the output of a query: (1) Indexing by one attribute in many constraint data models is equivalent to external dynamic interval management, which is a special case of external dynamic two-dimensional range searching. We present a semi-dynamic data structure for this problem that has worst-case space O(n B) pages, query I O time O(logB n+t B) and O(logB n+(logB n) 2 B) amortized insert I O time. Note that, for the static version of this problem, this is the first worst-case optimal solution. (2) Indexing by one attribute and by class name in an object-oriented model, where objects are organized

### Citations

2221 | R-Trees: A Dynamic Index Structure for Spatial Searching
- Guttman
- 1984
(Show Context)
Citation Context ...icient. That is, we would read O(t - B) disk blocks to report t points on a straight line. Several data structures have been proposed in the literature to handle region data. These include the R-tree =-=[16]-=-, the R*-tree [2], the R + -tree [33], the cell tree [15], and many others. These data structures are applicable to point data and one-dimensional range data and, hence, are relevant to our problems. ... |

1174 |
The Design and Analysis of Spatial Data Structures
- Samet
- 1990
(Show Context)
Citation Context ...ing space from which the input data is drawn and those that organize the input data. We will first consider data structures that organize the embedding space with reference to our problem. Quad trees =-=[31, 32]-=- were designed to organize two-dimensional data. They work by recursively subdividing each region into four equal pieces until the number of points in each region fits into a disk block. Because they ... |

981 | The r*-tree: an efficient and robust access method for points and rectangles
- Beckmann, Kriegel, et al.
- 1990
(Show Context)
Citation Context ...e would read O(t - B) disk blocks to report t points on a straight line. Several data structures have been proposed in the literature to handle region data. These include the R-tree [16], the R*-tree =-=[2]-=-, the R + -tree [33], the cell tree [15], and many others. These data structures are applicable to point data and one-dimensional range data and, hence, are relevant to our problems. All of them are b... |

786 | Constraint logic programming
- Jaffar, Lassez
- 1987
(Show Context)
Citation Context ... constraint programming framework for database query languages called constraint query languages or CQLs was presented in [19]. This framework adapts ideas of constraint logic programming, e.g., from =-=[18]-=-, to databases, provides a calculus and algebra, guarantees low data complexity, and is applicable to managing spatial data. It is, of course, important to index constraints and thus to support these ... |

557 | The ubiquitous B-tree
- Comer
- 1979
(Show Context)
Citation Context ...ut database. More importantly, these language features can be supported by data structures for searching and updating that make optimal use of secondary storage. B-trees and their variants B + -trees =-=[1, 10]-=- are examples of such data structures. They have been an unqualified success in supporting external dynamic one-dimensional range searching in relational database systems. The general data structure p... |

382 | The grid file: an adaptable, symmetric multikey file structure
- Nievergelt, Hinterberger, et al.
- 1984
(Show Context)
Citation Context ...qual pieces until the number of points in each region fits into a disk block. Because they do not adapt to the input data, they can have very bad worst-case times.592 KANELLAKIS ET AL. The grid file =-=[26]-=- was proposed as a data structure that treats all dimensions symmetrically, unlike many other data structures like the inverted file which distinguish between primary and secondary keys. The grid file... |

379 |
The k–d–b-tree: a search structure for large multidimensional dynamic indexes
- Robinson
- 1981
(Show Context)
Citation Context ...sed on a B-tree-like organization. We will consider several of them with reference to our problems. Two related data structures that have been proposed for multi-attribute indexing are the k-d-B-tree =-=[30]-=- and the hB-tree [22]. k-d-B-trees combine properties of balanced k-d-trees in a B-tree-like organization. In the two-dimensional case (these ideas generalize readily to higher dimensions), the k-d-Bt... |

337 | Constraint query languages
- Kanellakis, Revesz
- 1990
(Show Context)
Citation Context ...t data structures for special cases of the general problem of k-dimensional range searching. These special cases are important for supporting new language features, such as constraint query languages =-=[19]-=- and class hierarchies in object-oriented databases [21, 38]. We make the standard assumption that each secondary memory access transmits one page or B units of data (typically bytes), and we count th... |

324 |
A relational model for large shared data banks
- Codd
- 1970
(Show Context)
Citation Context ...TRODUCTION 1.1. Motivation The successful realization of any data model requires supporting its language features with efficient secondary storage manipulation. For example, the relational data model =-=[9]-=- includes declarative programming in the form of relational calculus and algebra and expresses queries of low data complexity because every fixed relational calculus query is evaluable in LOGSPACE and... |

297 | The r+ tree: a dynamic index for multi-dimensional objects
- Sellis, Roussopoulos, et al.
- 1987
(Show Context)
Citation Context ...B) disk blocks to report t points on a straight line. Several data structures have been proposed in the literature to handle region data. These include the R-tree [16], the R*-tree [2], the R + -tree =-=[33]-=-, the cell tree [15], and many others. These data structures are applicable to point data and one-dimensional range data and, hence, are relevant to our problems. All of them are based on the recursiv... |

297 |
Tarjan, A data structure for dynamic trees
- Sleator, E
- 1983
(Show Context)
Citation Context ...ith only one copy of each object in secondary storage. (For lower bounds on range searching in main memory, see [13, 7].) In Section 4, analyzing the hierarchy using the hierarchical decomposition of =-=[34]-=-, we reduce the problem of indexing classes to a special case of external dynamic two-dimensional range searching called 3-sided range searching. Three-sided range queries are a special case of two-di... |

291 | Applications of Spatial Data Structures
- Samet
- 1990
(Show Context)
Citation Context ...ing space from which the input data is drawn and those that organize the input data. We will first consider data structures that organize the embedding space with reference to our problem. Quad trees =-=[31, 32]-=- were designed to organize two-dimensional data. They work by recursively subdividing each region into four equal pieces until the number of points in each region fits into a disk block. Because they ... |

181 | The hb-tree: a multiattribute indexing method with good guaranteed performance
- Lomet, Salzberg
- 1990
(Show Context)
Citation Context ...organization. We will consider several of them with reference to our problems. Two related data structures that have been proposed for multi-attribute indexing are the k-d-B-tree [30] and the hB-tree =-=[22]-=-. k-d-B-trees combine properties of balanced k-d-trees in a B-tree-like organization. In the two-dimensional case (these ideas generalize readily to higher dimensions), the k-d-Btree works by subdivid... |

176 |
Priority Search Trees
- McCreight
- 1985
(Show Context)
Citation Context ...e a special case of external dynamic two-dimensional range searching. Dynamic interval management is interesting because it can be solved optimally in-core using the priority search tree of McCreight =-=[25]-=- in query time O(log 2 n+t), update time O(log 2 n), and space O(n), which are all optimal. Achieving analogous I O bounds is much harder. In Section 2.1, we FIG. 1. Diagonal corner queries, 2-sided, ... |

168 |
Spatial query processing in an object-oriented database system
- Orenstein
- 1986
(Show Context)
Citation Context ...ecursive decomposition of space using heuristics and cannot offer the worst-case guarantees in space and time that we seek. An interesting idea based on the use of space-filling curves is proposed in =-=[27]-=-. This paper identifies a space-filling curve to order points in k-dimensional space. This curve has the desirable property that points that are close by in the input will, with high probability, be c... |

160 |
Development of an Object-Oriented DBMS
- Maier, Stein, et al.
- 1986
(Show Context)
Citation Context ...re organized as a static forest hierarchy of classes, is also a special case of external dynamic two-dimensional range searching. Together with the different problem of indexing nested objects, as in =-=[24]-=-, it constitutes the basis for indexing in object-oriented databases. Indexing classes has been examined in [20], and more recently in [23], but the solutions offered there are largely heuristic with ... |

121 | External-memory computational geometry
- Goodrich, Tsay, et al.
- 1993
(Show Context)
Citation Context ...update time O((log2 c)(log2 n+(log 2 2 n) B)). Progress has been made in many different directions after this paper. In the case where our goal is to handle a very large number of queries in a batch, =-=[14]-=- proves that twodimensional queries can be answered in O((n B+k B) (logM B(n B))+t B)IO's, where k is the number of queries being processed and M is the amount of main memory available. A new techniqu... |

84 | Dynamic algorithms in computational geometry
- Chiang, Tamassia
- 1992
(Show Context)
Citation Context ...e O(log 2 n+t). By using fractional cascading, we can achieve a worst-case dynamic query time O(log 2nlog 2log 2n+t) and update time O(log 2nlog 2 log 2n) using the same space. We refer the reader to =-=[8]-=- for a detailed survey of the topic. The ideal worst-case I O bounds would involve making all the above logarithms have base B and compacting the output term to t B; any other improvements would of co... |

78 |
The P-range tree: a new data structure for range searching in secondard memory
- Subramanian, Ramaswamy
- 1995
(Show Context)
Citation Context ...og2 log2 B). Both inserts and deletes can be made to this data structure. The amortized cost of an update is O(logB n). Recently, a much stronger version of the lower bound in Lemma 2.7 was proved in =-=[36]-=-. They show that any secondary storage data structure that can answer twodimensional range queries in O(log k B n+t B) I O's in the worst-case (where k is a constant) has to occupy 0((n B) log (n B) (... |

66 |
Multidimensional divide and conquer
- Bentley
- 1980
(Show Context)
Citation Context ...r the semi-dynamic problem with inserts is O(log 2 c(log B n+(log B n) 2 B)). 1.4. Related Research A large literature exists for in-core algorithms for twodimensional range searching. The range tree =-=[4]-=- can be used to solve the problem in O(n log 2 n) space and static worst-case query time O(log 2 n+t). By using fractional cascading, we can achieve a worst-case dynamic query time O(log 2nlog 2log 2n... |

64 | Lower bounds for orthogonal range searching: I. The reporting case
- Chazelle
- 1990
(Show Context)
Citation Context ...s impossible to achieve optimal query time for this problem (O(logB n+t B) disk I O's) with only one copy of each object in secondary storage. (For lower bounds on range searching in main memory, see =-=[13, 7]-=-.) In Section 4, analyzing the hierarchy using the hierarchical decomposition of [34], we reduce the problem of indexing classes to a special case of external dynamic two-dimensional range searching c... |

57 |
Solutions to Klee’s rectangle problems
- Bentley
- 1977
(Show Context)
Citation Context ...search tree of [25], yielding O(n) space, dynamic query time O(log 2 n+t) and update time O(log 2 n), which are all optimal. Other data structures like the interval tree [11, 12] and the segment tree =-=[3]-=- can also solve the interval management problem optimally in-core, with respect to the query time. Among these, the priority search tree does the best because it solves the interval management problem... |

56 | editors. Readings in Object-Oriented Database Systems
- Zdonik, Maier
- 1990
(Show Context)
Citation Context ...em of k-dimensional range searching. These special cases are important for supporting new language features, such as constraint query languages [19] and class hierarchies in object-oriented databases =-=[21, 38]-=-. We make the standard assumption that each secondary memory access transmits one page or B units of data (typically bytes), and we count this as one I O. (We will use the terms page and disk block in... |

55 | A (1989) Indexing techniques for objectoriented databases - Kim, KC, et al. |

54 |
A new approach to rectangle intersections
- Edelsbrunner
- 1983
(Show Context)
Citation Context ...n achieved using the priority search tree of [25], yielding O(n) space, dynamic query time O(log 2 n+t) and update time O(log 2 n), which are all optimal. Other data structures like the interval tree =-=[11, 12]-=- and the segment tree [3] can also solve the interval management problem optimally in-core, with respect to the query time. Among these, the priority search tree does the best because it solves the in... |

42 |
The Cell Tree: An Object-Oriented Index Structure for Geometric Databases
- Günther
- 1989
(Show Context)
Citation Context ...port t points on a straight line. Several data structures have been proposed in the literature to handle region data. These include the R-tree [16], the R*-tree [2], the R + -tree [33], the cell tree =-=[15]-=-, and many others. These data structures are applicable to point data and one-dimensional range data and, hence, are relevant to our problems. All of them are based on the recursive decomposition of s... |

35 |
Organization of large ordered indexes
- Bayer, McCreight
- 1972
(Show Context)
Citation Context ...ut database. More importantly, these language features can be supported by data structures for searching and updating that make optimal use of secondary storage. B-trees and their variants B + -trees =-=[1, 10]-=- are examples of such data structures. They have been an unqualified success in supporting external dynamic one-dimensional range searching in relational database systems. The general data structure p... |

31 |
A lower bound on the complexity of orthogonal range queries
- Fredman
- 1981
(Show Context)
Citation Context ...s impossible to achieve optimal query time for this problem (O(logB n+t B) disk I O's) with only one copy of each object in secondary storage. (For lower bounds on range searching in main memory, see =-=[13, 7]-=-.) In Section 4, analyzing the hierarchy using the hierarchical decomposition of [34], we reduce the problem of indexing classes to a special case of external dynamic two-dimensional range searching c... |

29 |
H-trees: A Dynamic Associative Search Index for OODB
- Low, Ooi, et al.
- 1992
(Show Context)
Citation Context ...with the different problem of indexing nested objects, as in [24], it constitutes the basis for indexing in object-oriented databases. Indexing classes has been examined in [20], and more recently in =-=[23]-=-, but the solutions offered there are largely heuristic with poor worst-case performance. We assume in this paper that the class subclass relationship is static, although objects can be inserted in or... |

19 |
Priority Search Trees in Secondary Memory
- Icking, Klein, et al.
- 1988
(Show Context)
Citation Context ...nd space and provides an optimal worst-case update time as well. There have been several pieces of work done by researchers to implement these data structures in secondary memory. These works include =-=[17, 5, 6]-=-; [17] contains a claimed optimal solution for implementing static priority search trees in secondary memory. Unfortunately, the [17] static solution has static query time O(log 2 n+t B), instead of O... |

17 | Tarjan, "A data structure for dynamic trees - Sleator, E - 1983 |

12 |
Efficient Memory Access in Large-Scale Computation
- Vitter
- 1991
(Show Context)
Citation Context ...quire for storage. The I O bounds will be expressed in terms of n, c, t, and B; i.e., all constants will be independent of these four parameters. (For a survey of state of the art I O complexity, see =-=[37]-=-.) We will review B + -tree performance since we will use that as our point of reference. AB + -tree on attribute x of the n-tuple relation R uses O(n B) pages of secondary storage. The following oper... |

10 | Maintaining range trees in secondary memory
- SMID, OVERMARS
- 1990
(Show Context)
Citation Context ...imply improvements to the in-core bounds. Unfortunately, the various in-core algorithms do not map to secondary storage in as smooth a fashion as balanced binary trees map to B + -trees. For example, =-=[28, 35]-=- examine mappings which contain the logarithmic overheads and make the logarithms base B; however, their algorithms do not compact the t-sized output on t B pages. The practical need for general I O s... |

9 |
External segment trees
- Blankenagel, Guting
- 1994
(Show Context)
Citation Context ...nd space and provides an optimal worst-case update time as well. There have been several pieces of work done by researchers to implement these data structures in secondary memory. These works include =-=[17, 5, 6]-=-; [17] contains a claimed optimal solution for implementing static priority search trees in secondary memory. Unfortunately, the [17] static solution has static query time O(log 2 n+t B), instead of O... |

8 |
XPtrees, external priority search trees
- BLANKENAGEL, GUTING
- 1990
(Show Context)
Citation Context ...nd space and provides an optimal worst-case update time as well. There have been several pieces of work done by researchers to implement these data structures in secondary memory. These works include =-=[17, 5, 6]-=-; [17] contains a claimed optimal solution for implementing static priority search trees in secondary memory. Unfortunately, the [17] static solution has static query time O(log 2 n+t B), instead of O... |

6 | The Ubiquitous B-tree," Computing Surveys 11(2 - Comer - 1979 |

5 |
eds., Object-Oriented Concepts, Databases, and Applications
- Kim, W, et al.
- 1989
(Show Context)
Citation Context ...em of k-dimensional range searching. These special cases are important for supporting new language features, such as constraint query languages [19] and class hierarchies in object-oriented databases =-=[21, 38]-=-. We make the standard assumption that each secondary memory access transmits one page or B units of data (typically bytes), and we count this as one I O. (We will use the terms page and disk block in... |

5 | Kreveld, "Maintaining Range Trees in Secondary Memory: Part I: Partitions," Acta Informatica 27 - Overmars, Smid, et al. - 1990 |

5 | Maintaining Range Trees - Smid, Overmars - 1990 |

2 | Indexing techniques for object-oriented databases. Object-oriented concepts, databases, and applications - Kim, Kim, et al. - 1989 |

1 |
Path catching: A technique for optimal external searching
- Ramaswamy, Subramanian
- 1994
(Show Context)
Citation Context ... be answered in O((n B+k B) (logM B(n B))+t B)IO's, where k is the number of queries being processed and M is the amount of main memory available. A new technique called path caching was presented in =-=[29]-=- to convert many main-memory data structures like the priority search tree, segment tree, etc. into efficient secondary storage structures. For example, it is shown in [29] that it is possible to impl... |