Last week I took a dive into the office life of yesteryear with Microsoft Works 3.0 for DOS. Now I’m exploring some more retro business software, this time delving into the ancient database management system known as Borland dBase. dBase was THE first commercially successful DBMS for microcomputers, and in fact it is still active today, which would give it one of the longest lifespans of any major application software. It began its life in 1978 as a software package for PTDOS and CP/M dubbed Vulcan. It was later bought by Ashton-Tate, renamed dBase, and ported to the Apple II line and to DOS. During the 80’s and 90’s it went through several vastly different versions and was copied by many different software companies, soon being acquired again by Borland Software, who created a third version known as dBase III. dBase is now on its eleventh incarnation, last released by dBase LLC in early 2017.
The version I have installed is Borland dBase IV 2.0, released in 1993 and billed as being geared towards programmers, in contrast to earlier versions of the software which were marketed to the general user population. Indeed dBase does have a full-fledged scripting language, which is used to create applications for managing databases in much the same way one would use VBA to create applications for Microsoft Access. As far as I know, the dBase programming language is nothing like SQL and is a complete and self-contained language that is unique to dBase and its clones. But I haven’t gotten as far as programming dBase yet. So instead of speculating, I’m going to talk about what I actually did work on, which is the card catalog database and associated terminal interface that I’ve created for keeping track of all the books in my personal library.
Like most of the other DOS software I use, I downloaded dBase from WinWorldPC.com. Various versions are also available from the Vetusware abandonware archive, though the latter source is not always reliable and has some bogus downloads on it. I installed it over MS-DOS 6.22 running in VirtualBox as usual.
While I was entering my information I was prompted for a serial number, so I did a quick web search and got what I needed. Use the code in the screenshot if you want to try this software yourself.
I had to make some modifications to the CONFIG.SYS file. Weird, because usually the setup program will modify those files for you. This time I had to do it by hand.
Once you open dBase, the home screen looks something like this:
The decision to create a card catalog as my first database in dBase was a pretty obvious one for me. As with the Microsoft Works spreadsheet, I wanted to use this program for something at least semi-practical, rather than just playing with random controls to create pointless “example” files that I would never actually use. I was inspired by the card catalog program that my family’s local library used to use waaayyyyy back in the mid-90’s when I was a little kid. Some of my earliest memories of the library are of searching for books on a monochrome green-screen terminal where we interfaced with the central card catalog database using a rather rudimentary, text-only catalog program. I wanted to emulate the look and feel of those card catalog terminals from my early childhood that I only remember very vaguely, yet still vividly enough that seeing a monochrome CRT display is enough to make me wax nostalgic. I eventually opted for a multicolored look for my card catalog interface, though I kept the black background.
Selecting the “create” option at the top of the Data column in the dBase home screen brings you to an interface where you can edit the layout or metadata for a database table. So far this is not too much different from MySQL, with string and numeric data types, fixed widths for fields, and the ability to index certain columns.
Once you specify the columns for a database table, you can open up the table and start entering data. I basically entered all 280+ books in my library in two sessions of feverish typing.
I also found the feature that lets you change the colorscheme. Very important for the whole “look and feel” emulation I was talking about earlier.
I set the colorscheme to monochrome green for a while so that I could relive that mid-90’s library terminal experience.
I also made some cool “nerd porn” by screencapping the VirtualBox window and then running the screenshot through the “softglow” filter in GIMP to make it look like an old-school CRT.
Once I had created the card catalog table and played around with the colors for a while, I took a look at some of the companion programs that are also included with the installation. Like this handy tutorial:
And this equally handy info program that displays the contents of all config files relevant to dBase:
After going through the tutorial, and armed with new knowledge on how to create queries, forms, and reports, I returned to dBase to attempt to create a more versatile and realistic card catalog interface, one that would emulate that authentic “index card” look that was used by the card catalog programs of old. There were two things I wanted to accomplish: First, I wanted to index my books by topic and subtopic so that I could find books on a certain subject more conveniently (there was no order as of yet). Second, I wanted to display each entry of the database table on a separate “card”, and be able to flip through the cards using the keys on my keyboard.
To accomplish the former task, I went into the table view and consulted the Organize menu for options. There’s a command that allows you to basically create a ranking of fields to sort by, so I told it to sort by TOPIC, then SUBTOPIC, and finally by TITLE. I had some difficulty remembering the proper keystroke to save my work, but fortunately the Help is trivial to navigate.
Next I go to the Forms column on the home screen and create a form for the card catalog interface. Forms allow you to create a custom interface for entering and viewing data, providing the ability to reposition the fields, change the text and background colors, or draw a box around the entire form. The next two screenshots are of the form editing screen before and after I changed the background color.
After setting up the sorted table and the form I go back to my home screen, select the BY-TOPIC table and tell dBase to use that file, then I go into the form I’ve just created and tell it to display the data.
This brings me to an interface where I can tab through all my cards one-by-one using the Page Up and Page Down keys on my keyboard.
So that’s what I’ve done with Borland dBase IV 2.0 so far. In the future I plan to learn the programming language that it comes with and try to think of some ideas for nifty dBase applications I can build with it.