|★ APPLICATIONS ★ BUREAUTIQUE ★ DATAGEM (c) GEMINI ★|
|Gemini - Datagem (Amstrad Action)||Applications Bureautique|
According to the current Gemini adverts. Data Gem was written specially for the PCW 8256 rather than being ported across from older machines. If this sounds like Data Gem is carefully tailored for the 8236, offering features ported applications can't hope to match, that's because the adverts miss out one crucial fact - that the program is written in Mallard Basic.
As such it gains little if anything from being an 8256 original, since Mallard programs have to work via CP/M the same way ported programs do. There is an option to redefine the function keys from within the program, but otherwise the only special 8256 feature dealt with is the printer - and here the assumption is made that you'll only ever want to use the printer supplied with your 8256. Even taking this much for granted, the results aren't spectacularly better than the output of your average ported application. Advertising claims aside, the big problem with writing a database in Basic is one of speed. The heavy duty tasks, searching and sorting, tend to be too slow for comfort if you're using a Basic program and a large number of records. DataGem gets round this by a system of indexing that makes for rapid searching, however many records you have in your file.
The idea is for the program to do its searching when you type m a record, rather than waiting for you to actually perform a search command. This takes up more memory than the normal way of doing things, but it does give enormous speed advantages.
When you create a file, you design the record card from scratch. For each field you have to enter a title, state the field type - text, numerical, date or money - and position it on the screen. You also have to say whether or not you want it to be a key field.
Key fields are the heart of the indexing system. There are always, the thinking behind it goes, some fields you are going to want to search far more often than others. For each of these 'key fields'the program keeps an index, listing all the records in order. So if, for example, you're maintaining a club membership list and have 'Surname' as a key field, the program will keep a 'Surname' index which lists all the members in alphabetical order of surname.
This cuts out almost all the work of searching. If you want to browse through the records of all members with surnames between 'Jones'and 'Smith', for example, the program needn't check the surname on every record. It simply checks the 'Surname' index, and this immediately gives it all the information it needs.
Of course, there is a price to pay for all this. The indexes take up valuable disk space, for one thing, and they have to be updated every time you type in a new record. Because of this, and the limitations of Mallard's file handling commands, only eight fields on the card can be key fields out of a possible 32 -but this is enough for most purposes.
Once you've run a search on your file you can browse through all the records that fell within the search range You can edit the individual records found, print them out or simply flip through them on screen. If the key field search gives you too many records to browse through comfortably, you can narrow your selection down a bit by including search conditions for other fields.
You can set these extra conditions for any field on the card, key or otherwise. They can be search ranges like the Jones-Smith' example, or search strings - words or phrases which the program checks a field for.
Unfortunately you have to set up a search range on a key field, even if you're only interested in one of the ordinary, non key fields. More seriously, additional searches - even on key fields - don't have the benefit of indexing to speed them up. With a Urge number of records, that Basic could really start to drag.
The heart of a database is the search-and-browse system, and here Datagem is rather patchy. Although very fast on searches by a single key, extra conditions soon slow it down. Also, it can be very awkward setting up the kind of conditions you want
Otherwise the program's speed is quite acceptable apart from taking quarter of an hour to work out how many records it can fit on the disk. The main problem in using the program is its tendency to make simple tasks complex and awkward - for all the strengths of the indexing system, you might well prefer something a little simpler. Documentation was pre-production, but quite sufficient as it was.
AMSTRAD ACTION n°10