Re: header part of the value?

From: JOG <jog_at_cs.nott.ac.uk>
Date: Mon, 25 Feb 2008 04:29:13 -0800 (PST)
Message-ID: <69cb3c29-d399-4a3d-a2e3-68ddfc24d02d_at_i7g2000prf.googlegroups.com>


On Feb 25, 8:12 am, David BL <davi..._at_iinet.net.au> wrote:
> On Feb 25, 5:26 am, JOG <j..._at_cs.nott.ac.uk> wrote:
>
>
>
> > On Feb 24, 6:48 pm, Marshall <marshall.spi..._at_gmail.com> 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.
>
> > Oh eck.
>
> > > 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.
>
> > So far so good. All makes sense.
>
> > > Of course, that then leads me to think of a relation value
> > > as a <header, body> tuple.
>
> > Woaaaah, hold on a tootin minute there cowboy...why would it lead you
> > to think that? Why is a db-relation value not merely a set of finite
> > partial functions (db-tuples), mapping attribute names onto values?
> > We've broadly agreed in another thread that functions can be
> > represented themselves as mathematical relations, so let us represent
> > an example ternary relation-value, without a header component in
> > sight:
>
> > {
> > { (a, x1), (b, y1), (c, z1) } ,
> > { (a, x2), (b, y2), (c, z2) } ,
> > ...
> > { (a, xn), (b, yn), (c, zn) }
>
> > }
>
> > No probs there right?
>
> What if the relation has no tuples?

Then the value bound to the relvar would be the empty set. Received on Mon Feb 25 2008 - 13:29:13 CET

Original text of this message