Man of Honour
- Joined
- 15 Nov 2005
- Posts
- 2,124
- Location
- Basingstoke, UK
Has or does anyone use or have experience of multivalue databases? I was just flicking through our local newspaper and stopped at an article for a "Software Developer" at a local company.. I can meet all the criteria bar "IBM Universe (Pick) or similar". I'd never really heard of it so a quick www search (can't use the G***** verb any more
) found the relevant IBM page and also a definition of a multivalue database:

Maybe I've used "proper" relational/normalised dbs for too long but I really can't see the advantage of using a multivalue db..What are Multivalue databases?
Traditional relational databases such as Access, Oracle or Informix are designed around the "Laws of Normalisation" originally described in a paper by E Codd entitled "A Relational Model for Data for Large Shared Data Banks" [Communications of the ACM, 1970] but subsequently modified and extended.
These laws restrict the way in which data is stored, in particular the first law does not allow multiple instances of a specific data element to be stored together. This adds unnecessary levels of complication to the database design and tends to require multiple data file accesses to retrieve data that could more reasonably have been kept together.
A multivalue database breaks the first law of normalisation by allowing an element of a database table to contain many separate values. For example, a table representing an order can contain a complete list of the products ordered rather than these having to be stored separately. The data model goes further by allowing the values to be subdivided into subvalues, a technique which gives the ability to store a two dimensional table as an element of another table.
Of course, database designers who have been brought up on the laws of normalisation tend to shake their heads when this is first described to them, often saying that it can't possibly work. But, with a little bit of guidance, they soon see that not only does it work but it gives a highly flexible and very fast data model.
Multivalue databases are typically quicker to implement, faster at run time and very much easier to modify than their fully normalised rivals. They usually require fewer tables to store the same data when compared to fully normalised databases. As an example, consider a part of the ambulance dispatch application that we developed for St John Ambulance...
The system handles calls for ambulances to attend incidents. Each call is represented by an entry in a calls table. A call will have a number of "single valued" attributes such as the location, the caller's details and the description of the incident. The call may be responded to by more than one ambulance and details must be stored for each vehicle dispatched to the scene. In a fully normalised database this would usually require the use of a separate table to hold details of the response such as vehicle call sign, time of dispatch, etc. It is also necesarry to maintain a record of the personnel on the vehicle. Although an ambulance normally carries a two person crew there may, for example, be one or more medical specialists on board. This "multi-valued" data would traditionally require a further table.
A simple three vehicle call with two person crews thus becomes:
![]()
There are ten records spread over three tables to represent this call before we even consider recording patient details.
With a multi-value database, the entire call can be represented by a single record. The database is simpler. The space required to store the data will be smaller and access to the call requires just one read rather than ten.
Over the years, a number of multivalue databases have appeared on the market though they have never received the attention in the press that they deserve. Chief among these products are Pick (the original multivalue database), UniVerse and Unidata (the most widely used products), Reality and PI/open. Our own low cost QM multivalue database doesn't provide the range of specialist interfaces available in its more comprehensive counterparts but follows the same data model and contains all of the key core functionality needed to implement a very cost effective system. Multivalue databases are used by many of the biggest organisations in both the public and private sectors worldwide.
The multivalue data model is sometimes refered to as NF2 (non-first normal form), nested table or post-relational. This last term emphasises that the multivalue model is at least one step beyond the model used by the well know relational databases such as Oracle and Access.
All details in one record, surely it's just not correct protocol dammit?!"With a multi-value database, the entire call can be represented by a single record. The database is simpler. The space required to store the data will be smaller and access to the call requires just one read rather than ten."