Modelling Considered Harmful

From: Kenneth Downs <knode.wants.this_at_see.sigblock>
Date: Thu, 21 Apr 2005 22:42:02 -0400
Message-Id: <4v4mj2-92l.ln1_at_pluto.downsfam.net>



I wonder if anybody would care to dispute the thesis that use of the term "modelling" with regard to databases does more harm than good.

The case can also be stated that databases are NOT models of reality. They are rather record-keeping systems. If it can be shown that databases are record-keeping, that record-keeping is not modelling, then it stands that we would not call databases models.

We need to define models and records. Leaving out the silly definitions like a person posing for a picture some useful definitions of model are:

  1. A miniature representation of a thing
  2. Something intended to serve, as a pattern of something to be made
  3. Anything which serves, or may serve, as an example for imitation
  4. Any copy, or resemblance, more or less exact.
  5. An abstract and often simplified conceptual representation of the workings of a system of objects in the real world
  6. a simplified description of a complex entity or process

For "record", we leave out things like a 12" disc of vinyl, and we get some nice stuff. I like this first one out of Webster's for the verb record:

To preserve the memory of, by committing to writing, to

      printing, to inscription, or the like; to make note of; to
      write or enter in a book or on parchment, for the purpose
      of preserving authentic evidence of; to register; to
      enroll; as, to record the proceedings of a court; to
      record historical events

Here is the noun version:

A writing by which some act or event, or a number of acts

      or events, is recorded; a register; as, a record of the
      acts of the Hebrew kings; a record of the variations of
      temperature during a certain time; a family record.

Others:

  1. That which serves to perpetuate a knowledge of acts or events;
  2. anything (such as a document or a phonograph record or a photograph) providing permanent evidence of or information about past event

It should seem almost painfully obvious that the standard examples of employees, sales orders, inventory activity and so forth fit far more the definitions for "records" than they do for "model". One could stretch a point and contend that a sales order fits the definition of model because it is "Something intended to serve, as a pattern of something to be made", but really it is just instructions.

Taking the other side, if you are using a database to do a huge weather simulation, then we argue that the application is modelling reality, but actually this is not so either. The tables cannot run the simulation, they can only record the results of some other program doing so. Though the records are the records of a model, they are still records, and are not themselves a model.

So where is the harm? Well, there is always a problem when you call a car a horse, because you risk stuffing hay down the gas pipe and you can really scratch the finish with those brushes. Any attempt to advance the theory of databases should understand them for what they are, or the theory will go off in the wrong direction.

Nor is the meta-data a model. The meta-data for the employees table does not model the company, it specifies what information must be recorded to conform with law and policy. since meta-data is data, the meta-data is a record of what must be recorded. Still no model.

Agree? Disagree?

-- 
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth_at_(Sec)ure(Dat)a(.com)
Received on Fri Apr 22 2005 - 04:42:02 CEST

Original text of this message