Application programmers new to DB2 are generally overwhelmed by the reams of IBM manuals they must wade through in order to do their jobs. The authors successfully consolidate this material according to the 80-20 rule--around 20 percent of most manuals accounts for 80 percent of their use. This highly readable text is based on the most useful material in numerous specialized and exhaustive IBM manuals. It is directed to application programmers using DB2 in an MVS environment. It assumes CICS/COBOL for online applications and TSO/COBOL for batch applications. It is refreshing to see a book that explicitly and tightly targets its audience and maintains a clear focus throughout.
The text is organized in six parts:
Introduction to DB2
Data Manipulation Language
Query Management Facility
Application Programming
Design and Implementation of a Database
Miscellaneous Topics
Part 6 covers DB2 performance, the use of EXPLAIN, DB2 commands and utilities, and the Distributed Database Facility. Liberally mixed into the text are good pointers, guidelines, and the independent assessments that IBM users appreciate. For example, QMF is increasingly touted as an easy-to-use front end for DB2 databases, but IBM does not dwell on the difficulties faced by developers in providing users with this capability. The authors present an excellent section that demonstrates both sides of QMF. Their conclusions are clear: “QMF has been made very powerful and user friendly. However, there may be considerable programming effort and maintenance involved in developing this user friendliness.”
This first edition of what will almost certainly become a multi-edition text covers DB2 version 2.2. The authors promise to keep the book up to date as new versions of DB2 are released. Version specifications are not supplied for ancillary products such as CICS, QMF, COBOL, and MVS/XA. It would be useful to have short sections on the implications of alternative version capabilities in cases where the effect can be significant, especially for a closely related product like QMF. In addition, an annotated bibliography of IBM manuals and other recommended reading would be interesting and informative. The authors are obviously well acquainted with IBM’s wide-ranging documentation sets. Their recommendations of non-IBM texts on related topics such as CICS, logical database design, and JCL would be appreciated as well.
Having the DB2 material most commonly used by application programmers in a single volume is handy for a number of reasons. This text can be used in training sessions for programmers new to DB2. It can be used as a reference by experienced DB2 programmers. It is useful in a geographically dispersed development environment where all programmers may not have ready access to a full set of IBM manuals. It will also be appreciated in development teams with less specialization than IBM usually assumes--small teams where system designer, data administrator, database administrator, and applications programmer duties may be attached to only a couple of individuals.
When I first saw that the book had four co-authors, I was skeptical about prospects for its consistency and focus, but the mix works well. I highly recommend this book for all those involved in developing DB2 applications.