Re: Interesting article: In the Beginning: An RDBMS history

From: JOG <jog_at_cs.nott.ac.uk>
Date: 6 Apr 2006 18:27:20 -0700
Message-ID: <1144373240.206203.135340_at_g10g2000cwb.googlegroups.com>


dawn wrote:
> David Cressey wrote:
> > "dawn" <dawnwolthuis_at_gmail.com> wrote in message
> > news:1144354101.878068.281070_at_z34g2000cwc.googlegroups.com...
> > >
> > > David Cressey wrote:
> > > > "x" <x_at_not-exists.org> wrote in message
> > news:e12djb$ha2$1_at_emma.aioe.org...
> > > > > > I don't think so. I think he was making the distinction between
> > > > > attributes
> > > > > > specified by name and attributes specified by position.
> > > > >
> > > > > What is the difference between a "name" and a "position" from a
> > > > > mathematically point of view ?
> > > >
> > > > I can't speak for Codd on this, and I don't choose to speak for myself.
> > >
> > > The only difference is the domain for the function, whether it is a set
> > > of counting numbers or a set of attribute names. If counting numbers,
> > > then there is an obvious order (function), represented as the order of
> > > a tuple.
> >
> > This is not true.
> >
> > If the numbers were explictily used as if they were names, in every place
> > where a specific attribute is specified, your statement would be true.

>

> I don't see how a function being explicitly written or not makes any
> difference. In some systems you can refer to an attribute either by
> name or number. They serve as two different names for the attributes.
>

I think I agree with David here Dawn, that there is a subtle difference - given a mathematical relation is a list of elements (whose order is specified by the order of its domains), when one refers to the 'first' or 'second' element one is using knowledge external to the model in order to ascertain which domain each element corresponds to. My impression was that Codd believed the cognitive load of maintaining this meta-knowledge to be deleterious, and so added attribute naming. Being aware of this subtle distinction he proposed a name change to 'relationship' (which I learnt from yourself in fact). I'm not sure I have the vocabulary to express this succinctly yet.

all best, J.

> > However, if attributes are expressed in the form of a list, as they are in
> > mathematics when discussing relations, then the mapping between attributes
> > and values is based on position in the list.
> >
> > However, that was not Codd's point.
> >
> > Codd's point was that users should not have to remember "names" like 23, 24,
> > 25, ...etc. in order to specify attributes in a query.

>

> I would have to re-read things to be sure, but I thought perhaps his
> concern was over decoupling the logical and physical model of the
> attributes. In systems where attributes are referred by numbers, there
> is often a correlation between the logical and physical order, although
> there need not be.
>

> > > It amuses me when people make a big deal about there being no order of
> > > the attributes in a relation (which is then not strictly a relation as
> > > Codd pointed out). Given that attributes are specified to the system
> > > in some order (create table...) and output in some order, what do I
> > > care if under the covers it knows a mapping from the counting numbers
> > > to the attribute values or from attribute names to attribute values or
> > > both?
> >
> > A lot of things amuse you.
>

> Indeed.
>

> > In this case, your amusement stems from the fact that you view the text that
> > represents a create table as being the create table itself.
>

> I most certainly do not. Are you suggesting there really is some valid
> reason for insisting that there be no function mapping a subset of the
> natural numbers to attribute values? I can imagine someone concerned
> about maintaining that ordering or some such, but if that is done by
> the dbms software, who cares? How bad would it be if you got
> attributes in the exact same order each time you did a select *? ;-)
> --dawn
Received on Fri Apr 07 2006 - 03:27:20 CEST

Original text of this message