Classic Computer Magazine Archive COMPUTE! ISSUE 147 / DECEMBER 1992 / PAGE 132

dBASE IV 1.5. (data base management system) (Software Review) (Evaluation)
by Tom Campbell

Which is the better car, a Mazda Miata or a Volvo four-door? Who was the more important baseball player, Hank Aaron or Babe Ruth? Whose music is better, Crowded House's or Philip Glass's? And, towering in importance over the aforementioned trivia--is dBASE IV better than FoxPro?

The answer, he hedged, is that it depends on what you're looking for. If FoxPro is the Miata of databases--fast, new, and flashy--then dBASE IV 1.5 is the Volvo sedan: built for reliability, more comprehensive in some ways but less nimble in others, and a solid if conservative choice by anyone's standards.

Installing dBASE IV 1.5 is easy and swift. It runs in a lean 450K of RAM and weighs in at a svelte 4.5MB of disk space with all example files loaded. It begins by showing you the Control Center, a deceptively simple screen from which you can create or modify any of the following: database files, queries, data entry forms, reports, labels, or applications (which manage combinations of the aforementioned objects).

Borland's manuals stress the use of the applications generator, and it's no wonder. Not very sexy but written in an accessible and well-documented template language, it's an extremely powerful applications generator and able to do a tremendous amount of work for you. FoxPro's is a glittering bauble by comparison--prettier but far less capable.

The report writer that comes with dBASE IV 1.5 doesn't appear to have changed since 1.1, but it didn't need to. The 1.1 report writer was immediately, justly famous, and the tradition continues. (If you have version 1.0 but not 1.1 and are thinking of upgrading, note that Postscript support is finally here.)

If you're a dBASE III Plus user who has avoided upgrading to version IV until Borland got hold of the product, now's the time to move up. Indeed, dBASE IV is rock-solid and a huge improvement from version III. You've probably guessed already that the Control Center is an industrial-strength replacement for the wimpy Assist. Other giant-step improvements include (but are by no means limited to) multiple-tag index files that speed file I/O by orders of magnitude, much better support for arrays, 254 fields per record (but still only 4000 bytes total), support of more than one printer, data encryption, keyboard macros, international currency and date support, and--at long last--a full set of user-interface controls.

The dBASE IV language has menu and window control in spades, implemented in a very dBASE-like fashion. It's very easy to pick up and really fun to use in your applications.

Language improvements since version 1.1 are rather few in number, but they'll warm the cockles of any C programmer's heart. Eleven functions for low-level file access let you do what dBASE should have done five years ago and were added only perhaps because Clipper has already done it. Functions that mimic the file I/O routines provided with ANSI C include FCREATE(), FOPEN(), FREAD(), FWRITE(), and others. This means that for the first time, you can create text files from a dBASE application! It's one of those things that's so obvious, you assumed it was possible all along but were just too embarrassed to ask.

The other new routines give you the size, date, and time of a file. Although these have always been fairly easy to implement in bin files, it required knowledge of 8088 assembly and MSDOS system internals that most dBASE programmers would rather not have to know. Another relief is the inclusion of procedure libraries--you can now have more than one procedure in a file. A Set Library command supplements Set Procedure, which can now be reserved for local operations.

And if you were worried about how the language would deal with multiuser environments after fiddling with network kludges in III Plus, you can breathe a sigh of relief: Everything is well designed and well documented; this is one of the few database products with documentation that doesn't seem to assume you've been a network administrator for years and know exactly what to look for in the reference section.

However, the Getting Started manual just doesn't go far enough. The dBASE language tutorial could've been written for III Plus and ignores such fundamental issues as user interface. You should expect to spend several weeks on Using dBASE IV, which has extensive tutorials on the Control Center's applications. You can save a tremendous amount of time using the Control Center, and many job descriptions for dBASE programmers require that they know it--for good reason. I'm not convinced that generating dBASE applications without resorting to coding is as easy as it should be to learn, but once you know how, you can crank out impressive turnkey applications with almost no handcoding at all. One manual I miss dearly from 1.1 was a tutorial that took you step by step through the creation of a substantial application using relational databases, the applications generator, and a touch of handcoding. I'm not sure why it was left out, but I'd like to see it reappear in a later version.

If you're sure you want to stay with dBASE, upgrading from 11 or Ill Plus is a mere $175. The choice between dBASE IV and FoxPro, however, might be a bit tougher. There are certain applications for dBASE IV that the celebrated FoxPro simply cannot handle, and if your needs lie in this area, there's no contest. First, dBASE supports Commit and Roolback. These are mainframe-style commands that ensure you can save or restore the state of the database at will. While disk-intensive and not to be used casually, they are the only way you can guarantee data integrity--and FoxPro doesn't support them. Second, dBASE IV's applications generator is less attractive than FoxPro's, but it can create applications that use several databases at once; FoxPro's can handle only one. Since virtually all serious applications require more than one database to be opened simultaneously, it's worth your time and money to get dBASE IV just for that. Finally, it's guaranteed dBASE compatible--and in these days of fragmenting language standards, that's not a bad thing at all. IBM PC or compatible, 640K RAM, hard drive with 3.5MB free (5MB recommended), 1.2MB 5.1/4-inch or 720K 3.1/2-inch floppy drive--$795.00; upgrade from dBASE III--$99.95 plus $9.00 shipping and handling BORLAND INTERNATIONAL 1800 Green Hills Rd. Scotts Valley, CA 95067 (800) 331-0877 Circle Reader Service Number 353