Twist2 relational database (Amiga Computing, May 1995)

Relationships, that’s what it’s all about – according to the latest database to hit the market called Twist, from Hisoft. Like all the other databases that we have looked at over the past few months, it allows you to store whatever information you want about an object, present it on screen in a pretty manner and produce reports of what you have and haven’t got.

Twist2 in action

However, Twist adds another dimension into your database: relationships. Simply speaking, a relationship links objects from separate databases together by using a unique “key” from one database to the other. The theory is that then you only store information about one thing in one place, keeping everything nice and simple and also reducing data duplication. This whole concept is best shown by an example:

Say a company wanted to store information about its orders. An order is made up of a customer and some goods, but a customer may want to order from the company more than once and the goods will certainly be ordered by more than one customer. In a traditional (or card file) database, this information would have to be stored with all the information for one order in one file (ie customer, address, goods etc). Using a relational database means that the information about the customer is in one place, as is the product information. The two components are pulled together to form an order by using a unique customer reference number and unique product number.

Still with me but can’t see the point? Well, if a customer wants to make another order, the data about the customer does not need to be re-entered. Every time an order for a particular product is taken, data about the product is pulled from the product database. Size is also a major factor: an order has only three numbers in it: the order number, customer number and product number.

To elaborate on the Supermodel database last month, something like a calendar database could be added. This could contain information on the price of the calendar and also bring up information on the models contained within it for each month by adding a model code to the models database and accessing this from the calendar database. A nice feature of twist is that pictures in a database can be set to only display when clicked on – this would save quite a lot of time in this instance.

Twist has all the standard features of many databases, too. As before, fields (or slots of information) about an object are created. These are then arranged into a form which can also have boxes, text, graphics and any file that your datatypes will support. Graphics can be displayed by getting the filename from a field in a database, such as in the screenshot. Here, the lightwave scan filename was inside the products database and was displayed when the number “37” was typed into the issue number box. It’s worth mentioning that twist allows complete control over fonts, colour and style for each bit of information on the screen, too.

Fields can be flagged with a number of options, such as mandatory, unique, index, have a validity check performed on them and much more. It’ll suffice to say that the field handling is pretty powerful.

Data entry is nice and simple. Entities can be created, deleted, duplicated or edited easily using a form. Data can also be displayed in list format, too; not just in form format. This has the advantage that more than one entity can be displayed at the same time (as it is in the screenshot).

Also within Twist is its own “query” language – a simple language which returns information about the database to the user. This is moderately powerful beast which should mean that any report required can be generated with sufficient patience. I’d have preferred to have seen the industry standard SQL query language used (which isn’t toooooo hard to implement) but the provided language seems adequate.

The manual that comes with twist is excellent in some places, lacking in others. It would be exceptionally useful to give more information on the relational model for databases as I feel some users could be flummoxed by this. A vital point with relational databases is to plan completely before you start implementing the thing, otherwise all too soon you’ll find that you need to add another field to one database but can’t because another database is using it… It’s very easy to get this planning wrong, too: normalisation of a database is a scary topic well beyond the scope of this review, but can prove essential. This is not Twist’s fault, but it would have been easy to give a little tutorial on the strategy behind the whole thing.

Twist really does offer some pretty corking features for the money. It’s easy to get into, exceptionally freindly (as it says on its title screen), powerful, has a full AREXX port and can be run on any screenmode (useful for graphics card owners). Compared to other databases, the richness of adding relationships seems worth a few pounds more, but don’t forget to invest in some paracetamol if you’re new to relational databases.

Available from: First Computer Centre, 0113 231 9444 £74.99. Requires WB2.1+, 2MB memory. Hard drive recommended

Ratings (in 80s context) for Spirit HDA-506
Performance 90%
With an in-built cacheing system, it’s fast!
Value for money 89%
Cheap for what it does. More manual would have been nice.
It’s over 20 years old and working perfectly.
Ease of use 87%
Very easy for standard DB stuff. Relational model could cause headaches.
Overall 89%
Easy to use, powerful and cheap. Relations are a bonus for “power” users, too.