Project Database 3
Cornerstone
Infocom has packed a respectable number of features into its $99.95 relational database, Cornerstone, Version 5.21 . While it can't compete with high-end packages, the program certainly has an edge in the low-price market, where most products have no relational capability.
As you might expect from a vendor that has made its mark with interactive fiction, Infocom has provided a very attractive user interface for this program, combining menus with a command line. You create a string of commands either by typing the first few letters of each command and pressing the Spacebar to fill in the rest automatically, or by selecting commands from a menu just below the command line.
At each stage, you're prompted for the next command; a new menu then presents your available options. If the command string must include the name of a file, field, or set of saved criteria, the menu will present you with all the appropriate names you've created.
To make things even easier, there's context-sensitive help that incorporates the names of your flies and fields into its messages. An excellent interactive on-disk tutorial will help the novice user get started.
The documentation is quite good. Although it neglects to provide instructions for making the program self-booting from a floppy disk, you will probably want to run it from a hard disk (as with most databases). An AT is also advisable for Cornerstone, since itโs a sluggish performer on an 8088-based PC. Even screen scrolling and cursor movement are agonizingly slow on the less-powerful machine.
Cornerstone provides a good range of options for data entry. Thereโs automatic range testing, and you can specify default values, mandatory fill, and unique entries. The program understands such entries as Today, Next Monday, and Last Month and will convert each of them to the appropriate date. You can also specify a list of values from which you must select to fill a particular field; you can then type only the fust few letters of the value and have Cornerstone automatically fill in the rest. If youโve forgotten which values are valid, pressing F5 will show you your options.
Another nice feature lets you designate a field as a subrecord, which can contain a number of subfields. Creating subrecords within a file can provide an easier alternative to creating two separate files and linking them relationally.
For the sake of simplicity. Cornerstone relies heavily on on-screen forms. To select records, you enter your selection criteria after the appropriate field names in a blank form. Using AND or OR specifications, you can link several forms to perform Boolean operations.
If you wish to change the way your data is displayed, youโre presented with another blank form representing a record. You can then use the cursor to move fields around on the form or change their display lengths, hide field names, and add fixed text. And for later use, you can save numerous different display format or selection forms.
FILE LINKING AND REPORTING
Cornerstone is somewhat limited in its relational capabilities. You can view or generate a report on only one file at time. If you wish to view or use information from one file in the context of another, you must link the files, create some new fields in the first file, and then specify that the values in these fields are to be derived from fields in the second file. On the positive side, you have a good assortment of math, financial, time, and date functions at your disposal for deriving values from different fields.
In other areas, too, Cornerstone often forces you to go about things in very awkward ways. If, for example, you decide to transfer last year's records from your active file to a new file, you're in for a cumbersome process. You must select the records you wish to move, save the selection criteria, export the file to ASCII format using the saved criteria, import it under the new filename, and then delete the redundant records from the original file.
To perform a global update on a text field, you must select all the records containing the string you want changed, assign the replacement string as a default value for the field you want to update, and then issue a recompute command.
Cornerstone has fairly limited reporting capabilities. To define a report, you must select the records you want, sort them, define the display formal, then calculate totals and subtotals โ each time waiting for one procedure to finish before beginning the next. You can save report criteria for later use, but you must store selection criteria separately from the other elements.

This is not a program for handling very large databases, although it can process files containing up to 32,700 records. After watching Cornerstone devote 3 hours to importing a 30,000-record ASCII file and nearly half an hour to sorting it, we gave up on running the remaining PC Labs tests on the largest file size.
If you need to generate complex reports or work with huge numbers of records, Cornerstone is no substitute for a high-end relational database. If your needs are more modest, however, and speed isnโt a primary concern, you would do well to consider Cornerstone for its elegant user interface and its impressive array of data entry options. It would certainly prove a more powerful alternative to many flat file programs that are priced significantly higher.

This article appeared in
PC Magazine
26 Apr 1988
These historical, out-of-print articles and literary works have been GNUSTOed onto InvisiClues.org for academic and research purposes.