Supportive text on databases Relational Database Management for Microcomputers: Design & Implementation by J L Harrington. Published by Holt, Rinehart and Winston. 378pp. £18.50. 'Another database book' - this was my first reaction when I picked up Jan Harrington's text. It claims to stand out from the others by its orientation towards microcomputers, and is intended both as a supporting text for a first course in database systems and as a handbook for the practitioner. The principal consequence of the microcomputer orientation is the concentration on three illustrative database management systems: Oracle, R:Base System V, and dBase III Plus. This is a good choice of systems as it allows comparison of a system that has come down from the larger m a c h i n e world (Oracle), with systems that have grown up in the microcomputer world. This in turn reflects in part the multiplicity of applications of microcomputers at the present time. Further consequences of the orientation are more by way of omission: the section which includes database security concentrates (albeit at a rather superficial level) on the subject only as it applies to micro database systems; there is no coverage of file organizations and access methods. There is a tacit assumption that there is no need to address the topic of programming language interfaces. One might be forgiven for expecting these omissions to result in more space for coverage of design methods for small database systems, or for databases that reside at least in part on small computers, but unfortunately this is not forthcoming. One
316
reason for this is the unnecessary inclusion of what used to be (but is no longer, especially in a microcomputer environment) the obligatory review and comparison of hierarchic, network and relational data models. The design methods themselves are rather weak, including only a simplistic form of structured systems methodology (consisting principally of data flow diagrams, with no entity modelling), and a rather superficial coverage of normalization which omits Boyce/Codd normal form. In none of this is it significant that the user might be designing a system for a microcomputer (either standalone or networked) with the applicable concerns. In this sense the book reverts to being just another database book, and not a very good one at that. Clearly the book was designed as a supporting text for an introductory course in database systems: it has a pedagogic structure, with each chapter prefixed by a list of objectives and postfixed by a summary and exercise. As such it is to be congratulated for its consistency and gradual d e v e l o p m e n t of its s u b j e c t s ; although many UK undergraduates would find the coverage rather slow and superficial, and the American flavour a little difficult to digest. Furthermore, the £18.50 is a little high for the s t u d e n t m a r k e t , although a paperback edition might resolve this. As an aid for the practitioner the book lacks depth and techniques in its design coverage and seems to me less justified. On the whole, the implementation part of the book is to be recommended for its readable review and comparison of well-chosen packages, but the design part is weak, and fails to live up to the challenge that the title sets.
DICK W H I T T I N G T O N University of York
PASCAL for beginners Pascal, Programming, and Problem Solving: A Systematic Approach by Mario Gonzalez and Kay Robbins. Published by Holt, Rinehart and Winston. 526pp. £12.95. This book is intended for students beginning in software engineering, aiming to give them a good introduction to programming in the small. This involves two courses in one. There is an introduction to standard PASCAL combined with chapters on requirements analysis, design, testing and documentation. The last chapter looks briefly at searching and sorting and the analysis of algorithms. The presentation is clear throughout; significant points are brought out by boxes, indentation and changes of type face. Each chapter contains a summary and glossary to reinforce the author's message. The orientation towards standards is to be welcomed in a textbook because it is the key to openness and portability, and should maximize the value of the students' learning investment. It seems unfair to criticize the book's treatment of PASCAL, since the book is not primarily about the programming language but about good programming practices. However, any book that contains programs should state that all its programs have been tested and it should state which compiler was used. I believe that, in this case, the examples have been tested, probably with two different compilers. In one of the examples a particular compiler is mentioned but it is one that has not been independently validated (as far as I know) to conform to the international standard for PASCAL. When a book claims to use 'ISO PASCAL throughout', the examples
information and software technology