You can find the Table of Contents here .
The book contains nine chapters organized in four parts. We tried to keep each chapter self-contained to provide maximum reading flexibility.
The first part of the book contains some fundamental issues and is composed of three chapters. Chapter 1 is the introductory chapter. In this chapter we give a brief introduction to the area, present the basic notations and the corresponding descriptions, and present the original R-tree access method, which is the root of the family tree of access methods presented in the book. Chapter 2 is devoted to the description of the most promising dynamic variations of the R-tree. These methods support insertions, deletions, and updates and therefore can be effectively used in a dynamic environment. Static variations of the R-tree are given in Chapter 3. These variations are optimized taking into consideration that the dataset to be organized is given a priori.
The second part of the book is composed of two chapters and covers query processing techniques that have been proposed to operate with R-trees. Chapter 4 studies fundamental query types such as range queries, nearest-neighbor queries, and spatial join queries. Each method is studied in detail, and the corresponding algorithm is given in pseudo-code where appropriate. Chapter 5 explores more complex query types such as categorical range queries, multi-way spatial joins, closest-pair queries, incremental processing, and approximate query techniques. These queries are characterized by higher computation costs and greater complexity than the fundamental ones, and therefore are covered separately.
The adaptation of the R-tree to modern application domains is discussed in the third part, which comprises two chapters. Chapter 6 studies the application of R-tree-like access methods to spatiotemporal database systems. The fundamental characteristic of these systems is that they handle temporal information in addition to the spatial properties of objects. Chapter 7 discusses the use of R-trees in multimedia databases, data warehouses, and data mining tasks. The exploitation of the R-tree by the aforementioned domains has proven very promising to faster algorithms and query processing techniques, taking into consideration the complexity of objects and the computationally intensive operations required.
The last part of the book comprises two chapters. Chapter 8 studies query optimization issues for R-tree based query processing. Formulae are given for various query types that estimate the corresponding cost of the operation. These formulae are valuable for cost-based query optimization and selectivity estimation in modern database systems. Chapter 9 discusses some implementation issues regarding the R-tree access method. Many DBMS vendors have incorporated the R-tree as an indexing technique for non-traditional objects. Moreover, several research prototypes have implemented the R-tree to index spatial or multi-dimensional objects.
The Epilogue at the end of the book summarizes our work and gives some directions for future research in the area.