This textbook is an excellent resource for people specifically interested in the theoretical nuts and bolts of spatial databases. The book covers a lot of ground in just over 400 pages. It would be an excellent text for an advanced GIS programming course for either geography students or computer science students. For the geography student, the text provides an excellent coverage of database concepts while drawing on familiar topics. For the computer science student, the book extends basic knowledge of DBMS for spatial applications.
The book is divided into eight chapters. Each chapter is completed with an excellent bibliographical review of relevant publications. This review, alone, is worth the price of the book.
Chapter 1: Introduction to Spatial Database: Covers basic concepts of SQL, DBMS and spatial data.
Chapter 2: Representation of Spatial Objects: This chapter should be familiar to anyone with a GIS background but would fill in the gaps for computer science students. The section on formats and standards is a bit dated but provides a nice theoretical background - especially for the Census TIGER data.
Chapter 3: Logical Models and Query Languages: Opposite of Chapter 2, this chapter will challenge the Geography student while further grounding the Computer Science student in GIS data types.
Chapter 4: The Constraint Data Model: Here the authors choose to introduce some unique material in the form of the constraint data model. The model is designed specifically to encode spatial data in a basic relational model. The chapter even breaks down the model into relational algebra statements. For most teaching purposes, this chapter can be skipped.
Chapter 5: Computational Geometry: An odd gem in a text on spatial databases. This chapter provides a basic introduction to computation geometry techniques and their application to spatial data. One of the most significant aspects of a spatial databases is that it encodes geometric representations of geographic phenomena. Basic computational geometry is a necessary extension for a database to truly support spatial data. Pseudo-code is given but I would recommend the classic Computational Geometry in C (Cambridge Tracts in Theoretical Computer Science) for detailed implementations. This chapter will be challenging for Geography students but simple for Computer Science students.
Chapter 6: Spatial Access Methods: The biggest challenge for spatial databases is spatial indexing - adding a true sense of "where" to SELECT...WHERE! The chapter focuses mostly on classical index structures - B-tree, R-Tree, etc. This would be a good chapter for a "short week" as it is either a research focus or matter of "it just works". Students who desire to research spatial indexing will find the chapter lacking. Others will find it overwhelming.
Chapter 7: Query Processing: Like Chapter 6, this chapter delves into details that only a student truly interested in researching spatial indexes or developing new databases would be concerned with. The chapter presents how the spatial index is utilized for joins and relates.
Chapter 8: Commercial Systems: Any book that attempts to survey existing software is always out of date. This chapter might be of historical interest but is hardly worth covering. The section of PostgreSQL is interesting but better material exists on the web.
Overall, the book is well written and clearly presents the material. The coverage is focused on applications to spatial databases. My favorite advanced GIS textbook is GIS: A Computing Perspective, Second Edition.