Re: header part of the value?

From: Marshall <>
Date: Thu, 28 Feb 2008 23:02:18 -0800 (PST)
Message-ID: <>

On Feb 27, 11:56 pm, Jan Hidders <> wrote:
> On 24 feb, 19:48, Marshall <> wrote:
> > Occasionally the question has come up as to whether a
> > relation value is the body, or the body+the header. In the past
> > I've sided with the just-the-body approach, but today I decided
> > that I don't think that anymore.
> > Consider the algorithm to perform a natural join on two
> > relation values. Just values: not tables in a database
> > with a known schema or whatever. Just two plain relation
> > values. The natural join specification *requires* the header;
> > it is defined (in part) in terms of the header. So the header
> > must be part of the value.
> That is not correct. The natural join can be defined without referring
> to the header.

I am skeptical, however my intuition is that we might not be speaking the same language here.

Natural join is defined to be an equijoin on pairs of attributes in each operand with the same name, yes? So how do you know which attributes have the same name without access to the header? How do you even know that there *are* attributes, without the header?

> > Certainly in practice this is the sort of thing that would
> > be almost universally a good idea. But what theoretical
> > basis does it have?
> Static typing goes out the window.

Yes, certainly; that bears mentioning. That doesn't change the algebra at all, though, does it? Also it feeds in nicely with much of the current interest in programming languages for having for fine-grained control over types.

Marshall Received on Fri Feb 29 2008 - 08:02:18 CET

Original text of this message