Re: Would you like to get practical experience with a DBMS of a new generation?

From: Alexander Lashenko <lashenko_at_unixspace.com>
Date: Thu, 08 Jan 2004 01:04:03 GMT
Message-ID: <3FFCACAF.6B4603AC_at_unixspace.com>


Christopher Browne wrote:

> Oops! Alexander Lashenko <lashenko_at_unixspace.com> was seen spray-painting on a wall:
> > What do you mean 'blunder'? ConteXt has aggregate fields or
> > 'multi-value fields' if you call it so. What's wrong? ConteXt is not
> > a relational database. Probably you never had a deal with non
> > relational structures.
>
> Here are the two Great Blunders:
>
> 1. Equating relvars with classes

"The relvars (tables) represent an open set of predicates that are interpreted over our data landscape. Each tuple represents an instantiation of a relvar predicate, in predicate calculus this is called a closed Well Formed Formula. That instantiation is unequivocally true, that is, no relvar tuple can be false. Or in less formal terms, no row in any table can be false – this will become clear a little further on. "

Why I can not call ConteXt class 'Relvars':

  1. ConteXt database has not only a fixed set of attributes (predicates, columns) but also a variable set of such fields (property) belonging only to the particular Object.
  2. A ConteXt field can include its own schema so the schemes of each Objects making up a Class may be variable. Therefore Object does not equal Record and Class does not equal Table.

ConteXt class includes not only data but also methods therefore I call it Class, anyway no one can find a better term.
If you know a proper term - tell me, please. But the internal structure of ConteXt is so unusual that I can not find something better than it.

>
>
> 2. Mixing pointers and relations (more particularly, allowing
> database relvars to contain object IDs).

Pointer is not a relation!
Pointer links the field of one object of a Class and an Object of another (or the same) Class.
Physically a pointer the number of the Object of the subClass. The name of the subClass is contained in the schema of the current Class or inside of the pointer field (if it is a VARIANT field).

A.L.

>
Received on Thu Jan 08 2004 - 02:04:03 CET

Original text of this message