This is a textbook that covers a wide range of important, basic material in the area of information management. The topics that are presented here are not often “packaged” in this combination, but they are all ones to which undergraduate computer science students should be exposed. The text, which is intended to follow a course on data structures, is broken into three sections that cover introductory material, files, and databases.
The first section, consisting of two chapters, introduces terminology and some basic concepts and then discusses storage technology. I found this latter topic mundane, but it should be possible to easily skip it without any later problems. The next section of the book, six chapters on various aspects of file processing, is to me its strength. The authors discuss both various ways of organizing data in files and operations that can be performed on data in files. This material is followed by a chapter on normalization of data, which leads naturally into the final section, five chapters that cover database management systems, looking at hierarchical, network, and relational models. Also included are advanced topics in database implementation, interface design, database machines, and distributed databases. The database material is, in general, solid, but, because of obvious space restrictions, it lacks the depth that would be present in a book devoted to databases. Space considerations also seem to have led to a lack of integration between the file and database sections. It would have been nice to see more on how these topics interrelate.
Throughout, Files & Databases is well written and presents its material effectively. At points, the material gets a little dry--this is probably an inevitable result of trying to compress a lot of material into one book--but by and large it reads well. Examples are well used to illustrate the points being made. The exercises, while a little skimpy, appear to be quite reasonable.
Other than the slow start due to the inclusion of the low-level information on storage technology, the only potential problem I can see with this book is the authors’ selection of material. The combination of file and database material is logical, but is not typical for an information management course. The problem with the combination is that the database material, by necessity, ends up having less depth than one would like. There is not really enough material here to naturally use the book for a two-semester course. However, if an instructor wants to cover this body of material in a one-term course, Files & Databases should definitely be considered.