Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
dBASE demystified. dBASE II/III/III PLUS: applications and solutions to real problems
Barnes L., McGraw-Hill, Inc., Hightstown, NJ, 1986. Type: Book (9789780070038448)
Date Reviewed: Apr 1 1989
Comparative Review

Completed paper forms are manually collected and filed for later retrieval. Collections of computer-processed data can be similarly organized to make up a database. The term database usually implies more than one group of data and suggests an integration of related data. Database management software allows the user to enter, store, change, and extract data and administer the data system.

Some of the most widely used and well-known database management programs for microcomputers are Ashton-Tate’s dBASE series. dBASE III PLUS is more than a database manager because it includes a programming language. One significant shortcoming is its lack of facilities to handle missing values. As a whole, though, many people have found it an acceptable tool for developing usable applications on microcomputers without the detailed programming of languages such as BASIC.

These books address dBASE III PLUS and associated programs and are intended to help with their use. They are among many similar books on the market, with new ones being announced regularly. These books will continue to have value even as dBASE IV is being marketed.

This review focuses on books for users who have had some experience with dBASE II or III or who can program in another language. Such a user has probably written and lived with several applications for small businesses, health clinics, government agencies, etc. Serious beginners, however, would also find them helpful and should not be frightened away.

One primary evaluation criterion was that the books should be more than simple reference manuals that show how each command works. They should demonstrate an integrative approach, showing how several commands can work together to perform common tasks such as preventing duplicate keys, coordinating multiple files, building menus, and inputting and updating through a full-screen interface. While they should offer something more than what comes with dBASE, the books should also provide easy access to the dBASE commands through a good index or through other organizational aids. The books should recommend good programming practices and should avoid condescension and cute diagrams. They should show how to identify known bugs in the packages and demonstrate work-arounds. If a book is useful, it should be sturdy enough to tolerate heavy use.

The books reviewed here generally show solid approaches, although two stand out above the rest. All the authors demonstrate significant experience with dBASE III PLUS and do more than try to capitalize on a popular market. Overall, the quality of the printing, binding, and production of these paperback books is good.

While the books are about dBASE, almost all the authors make significant efforts to introduce the reader to good general programming practices. However, only the book by Castro et al. has significant bibliographic references to other works in this field. Some of the other books do not even list acknowledgments or credits. Common courtesy, and the revolution of computers in general and microcomputers in particular, suggest that all authors make the extra effort to acknowledge our teachers, colleagues, fellow researchers, and system users in this exploding field.

Barnes

In the first 105 pages, Barnes discusses common problems of database management and presents solutions. His discussion is fairly clear, but scanty. He uses many coded examples to show combinations of commands.

Barnes advocates learning to program by reading code and offers much dBASE code in this book. The middle section is a client manager system for a health care professional; the programs occupy 115 pages and consist of over 2000 lines. Chapters 13–19 are narrative text about this system. The code is decent looking, well commented, and indented. The author says it is for sale on a disk and is copyrighted (one can use it, but not sell it); however, I could not locate costs or an ordering address.

The third section of the book presents a 66-page, alphabetically organized discussion of commands and functions. This reference guide is clear but elementary.

The book has only minimal errors. It could be worth its cost for the client manager code alone, but I would not recommend it as an advanced programmer’s guide to dBASE.

Carrabis

Primarily a reference manual, this book is organized by major command groups (the commands within each group appear in alphabetical order). Carrabis gives examples of advanced use with most commands. It is irritating, though, that he separates IF, ELSE, and ENDIF as if each one were a separate topic and covers them on separate pages. This is also done with DO CASE and ENDCASE and all other clustered but split commands.

Common problems that show the interaction of commands are not well handled. Bugs and work-arounds are discussed only generally. Nonetheless, this is a competent work that uses adequate figures and examples. Carrabis has copyrighted many of the examples, but allows their use except for publication. If one has the original dBASE documentation, this book will not add much. On a stand-alone basis, it could serve as a reference guide that in 745 pages covers every command.

Castro, Hanson, and Rettig

This book is a result of the efforts of the technical assistance staff at Ashton-Tate, the company that produces dBASE III PLUS. Its comprehensive focus is on dBASE II and III; it discusses dBASE III PLUS in a short appendix. This book is significant for its history of dBASE and its technical detail.

The book forthrightly cites known bugs. On page 416, it sympathetically notes: “Rocks are hard, water’s wet, and all programming languages have bugs. That’s just a simple fact of programming life. It is as unrealistic to curse bugs as it is to deny their existence. The idea is to discover where they are, what they do, and how to work around them.” Each section of the book documents known bugs and gives extensive work-arounds.

The book gives good information about microcomputers and about programming in general. Nonetheless, it is an extended reference manual. The commands are organized by topic and then handled alphabetically.

The book recommends good programming practices and includes many examples of coded solutions. The authors give extensive code for programs and subroutines in dBASE. The writing is clear and I noticed only a few typographical errors. Of all the books, only this one has a bibliography and endnotes, and it does the best job of relating programming in dBASE to the art of programming in general.

Dinerstein

This book represents a primer on dBASE III PLUS. The author provides helpful hints, some guidance on what to avoid, and work-arounds for some of the bugs.

The first, 172-page section is a dBASE III PLUS primer. The most informative section of text, pages 172–309, contains some useful hints and techniques. Some of these hints, however, contain unnecessary restrictions that invite disagreement.

On pages 329–430, the author describes Ashton-Tate’s dBASE tools for C: the programmer’s library. A sales/accounts receivable/inventory system is presented on pages 457–628. This example does not use procedures, but it is readable code. A disk of the code is not available. While the code may be illustrative, I would rather have read more about the author’s experience with dBASE.

Knecht

This book, a collection of tidbits on dBASE III PLUS, leads off with 14 pages on the application generator. The commands are covered in clusters, but the coverage is deliberately spotty. The author presents several cases of alternative coding, including relative timings for each one.

One 53-page chapter lists some utility programs written in dBASE III PLUS. One utility checks for paired commands such as IF and ENDIF, DO CASE and ENDCASE, etc.; another helps with program indentation. Much of the book (pages 275–411) is a time and billing example program for attorneys who bill by time and cost.

While the book has some helpful advice, little in it is unique, and it is certainly not as comprehensive as other books reviewed.

Prague and Hammitt (listed in the tables as book I)

This is not a programmer’s reference manual, but instead discusses dBASE III PLUS by paraphrasing the program documentation. The book is organized by topic and includes a case study. The authors give some helpful technical data about dBASE file and index structure. They provide source code for some utilities, but in Pascal. While the book is not of great help, one could expect almost any restatement of dBASE III PLUS to be helpful to a person struggling to understand a new topic.

In discussing the use of on-screen graphics, the authors comment: “A system that looks slick will almost sell itself.” The problem with this advice is many programmers will take so much time making slick screens that they will fail to ensure and test the basic functionality of their program. I would have preferred the advice to build a sound system first and then, if contract dollars still exist, to fancy it up later.

Prague and Hammitt (listed in the tables as book II)

The authors’ second book reviewed here is a collection of topical advice on dBASE III PLUS, not a reference manual. Much of the book gives tips on programming of any kind, not just in dBASE III. The authors strive to teach by case study.

Taken together, the Prague and Hammitt books are clearly written and helpful. The price of both, however, far exceeds that of the other single books reviewed here, while their value does not.

Simpson

This book gives the greatest sense of a professional approach; most of the others are rather “gee-whiz” in comparison. Simpson approaches dBASE III PLUS as a serious tool for production systems that satisfy business needs rather than the desire for status symbols. The book is very clear, and good use of mixed fonts and white space makes it easily readable. This volume sets the standard for a complete guide to the advanced use of dBASE III PLUS.

The book is organized by topic and covers each area in depth. It is also a comprehensive reference, organized by groups of related commands (a separate index to the commands is conveniently given on the inside covers of the book). In addition to the main table of contents, there is a separate one for each chapter. The author also provides good internal cross-references.

Comparison

Table 1 presents an overview of the books. Hopefully, most rows are self-explanatory. The line on “Acknowledgments” reflects the inclusion of acknowledgments, production credits, footnotes, and other means of showing the contributions of others in the field. Similarly, the line on “Relatedness to discipline” indicates whether the book draws upon the experience of the field in its recommendations of good programming practice or rather seems to reflect only the isolated experience of the author(s).

Table 2 shows how well the books cover the topics of dBASE III. The features compared were chosen to show a variety of different approaches and depths of coverage. Some commands are notable for their interaction with other commands and, therefore, their hidden complexity for the unwary. The use of aliases, for instance, affects the power of the report writer (with its hidden code) in conjunction with SET RELATION and allows the use of the same report for several similar databases. The tests for empty fields, null strings, blank dates, and inexact comparisons can be significant anomalies to programmers familiar to other programming languages.

Conclusion

If one were to purchase only one book to help in developing applications, I would highly recommend the book by Simpson. The book by Castro et al., however, is so worthwhile for its coverage and history that active dBASE programmers should consider it for their second advanced dBASE book.

Reviewer:  Henry Bentrup, Jr. Review #: CR113246
Comparative Review
This review compares the following items:
  • dBASE demystified. dBASE II/III/III PLUS: applications and solutions to real problems:
  • dBASE III PLUS: the complete reference:
  • dBASE III programmer’s reference: a sourcebook of programming techniques:
  • Advanced programmer’s guide featuring dBASE II and dBASE III:
  • dBASE III PLUS programmer’s reference guide:
  • Advanced dBASE III PLUS:
  • Advanced programming with dBASE III PLUS:
  • dBASE III PLUS for the programmer:
  • Bookmark and Share
     
    Dbase Iii Plus (H.2.3 ... )
     
     
    Miscellaneous (D.1.m )
     
     
    Office Automation (H.4.1 )
     
     
    Personal Computing (K.8 )
     
    Would you recommend this review?
    yes
    no

    E-Mail This Printer-Friendly
    Send Your Comments
    Contact Us
    Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
    Terms of Use
    | Privacy Policy