Scor­pio News


October–December 1987 – Volume 1. Issue 4.

Page 40 of 55

On the other hand, I’m not yet super brainy type and I didn’t go to university during my misspent youth, as I don’t think the OU has got round to handing out PhDs to honestly deserving but mentally lazy people like me yet, at least, not without me having to do some work for it, I’m not in the running from that source either. The only university I went to was the ‘University of Life’ with an assortment of day release courses and sandwich courses, which admittedly took longer to achieve a given goal (it was 5 or 6 years before I got my HNC), none the less, allowed me to earn my own keep and learn what happens in real world rather than what is supposed to happen in the not so real world which can exist in some universities. Anyway, the whole point is that some of the real big database managers are next to impossible for the average mortal to drive.

The Ashton-Tate product errs towards the PhD end of the scale, it’s got a fair amount of reasonable facilities but is a bit of a pig to get used to. It has one feature which WAS unique (no longer so), it has its own programming language. The language was originally included to allow you to do the nastier and more complex bits in a sequence of little steps, so super mental capability wasn’t necessary to achieve a given aim.

Of course with a language at your disposal, it meant that the clever could write programs which would ease by the way for lesser mortals to achive the same ends, and in that respect DB was/is very good. That doesn’t mean that DB is perfect, it’s got some glaring holes in its philosophy (a decent method of ‘hashing’ the database doesn’t exist and is the most obvious omission). I’m still looking for a better database manager which will offer the same as DB but with more of what I need, but I haven’t found one that competes overall yet, but I’m still looking.

So four or five years ago I taught myself DB, that was DBII version 2.0 at the time, and over a period of time DB grew, the ultimate version for CP/M being version 2.43. Ashton-Tate ported version 2.43 to the IBM with virtually no changes and so it was usable with the same interpreted programs on either machine, the only obvious difference being that the filetype extension had been changed from .CMD to .PRG; annoying!

Then came DBIII, an original version written for 16 bit processors and MS-DOS. This had changed a lot, some changes for the better, some for the worse and some for so apparent reason at all. I don’t intend to concentrate on that version, but rather on DBIII+, an even bigger version which has been around for about a year now. Most of what I will say applies to DBIII equally. DBIII+ is just bigger still (I didn’t say better, it’s noticeably slower!).

The differences between DBII and DBUIII+, well not a lot really, some syntactical changes and the change of the odd command word here and there. Perhaps the most change was the way assignments were done, in DBII, the extremely messy:

STORE xx TO var

was supplemented by the more usual and logical:

var = xx

whilst still retaining the ‘STORE’ form for compatibility (and to round an interesting anomaly) and for masochists who like to type more than absolutely necessary. The anomaly? Oh yes, you can’t assign a macro to a macro using the ‘=’ form, so

&var1 = &var2

just won’t work, but you can do it this way:

STORE &var2 TO var1

don’t ask me why this is, the manual doesn’t mention it! Still on the subject of assignments, you can’t make multiple assignments using the ‘=’ but you can with the STORE. Another useful one is that it is now possible to assign a ‘null’ string, previously you couldn’t. Let’s do both:

var1 = var2 = .... var<n> = ""

won’t work, you can either do it:

Page 40 of 55