Views of DBMS Logic, Algebra and Databases by Peter Gray. Published by Ellis Homoood. 294~~. g22.50 (hardback), X9.50 (paperback). In this book Peter Gray gives a clear, readable and thorough introduction to the database organization and query languages. The level is approximately that of a final-year undergraduate course, and the approach is essentially that of an academic textbook. However, this shold by no means be allowed to deter readers from a commercial data processing background, who will find here a good account of several contemporary views of database systems. The emphasis is strongly on abstract views of database systems, rather than the details of their physical organization. Most of the book
deals with relational models of data organization, although CODASYL databases are given due consideration in the two final chapters. Two complementary approaches are discussed, with about equal weight: predicate logic and functional programming. The first five chapters are devoted to an exposition of these topics, presenting a variety of formalisms including PROLOG, HOPE and KRC. These chapters read well in themselves as in introduction to nonimperative languages, as well as laying the foundation for their application to database systems in the remaining seven chapters. The chapters on database systems are quite dense; a number of different query languages are discussed and exemplified in a short space (IN-
GRES, SQL, QBE, ASTRID). The style remains clear enough that the reader is not overwhelmed, however. As the book progresses through the Functional Data Model, Daplex, CODASYL and a functional query language (FQL) for CODASYL, the density seems to increase further, although I suspect this is partly due to reviewer’s fatigue from trying to digest the material too quickly. At c9.50, the paperback is good value. Anyone wanting to understand the modern approach to database systems should certainly read this book, and anyone involved with their implementation should probably read it several times! C D F MILLER Heriot-Watt University
Useful text on Unix The Unix Programming Environment by Brian Kernigham and Rob Pike. Published by Prentice Hall. 357~~. &I 7.95. This book contains material on such a wide range of levels that it is difficult to identify its intended readership. Early chapters give a very simple introduction to Unix, yet in chapter eight there is a major example using YACC and LEX, two powerful tools unlikely to be used by any but the most experienced u.ser. The chapter on documentation is left to the end, almost as an afterthought, although the introduction does suggest this may be read independently. However, I feel that for a teaching rather than reference book a different ordering would have been more appropriate. After a beginner’s introduction in chapter one, subsequent chapters discuss the filing system, the command
~0127no 3 april 1985
interpreter Shell-CShell is never mentioned - filters (programs which transform data) and more advanced use of the shell. Chapters six and seven concern inputioutput and system calls, first as standard library routines and then as raw calls. In chapter eight there is an extended development example which results in program to act as a programmable calculator. The chapter on documentation then completes the main body of the book. This book gives a good introduction to the use of Unix, especially the approach of using standard tools and the shell rather than writing unnecessary programs. Most examples are simple, clear and useful. In all, a useful book.
ANDREW D HOLT The City University
51