Re: database design method

From: Paul Vernon <paul.vernon_at_ukk.ibmm.comm>
Date: Mon, 11 Nov 2002 14:24:41 -0000
Message-ID: <aqoeks$vcs$1_at_sp15at20.hursley.ibm.com>


"Jan Hidders" <hidders_at_REMOVE.THIS.uia.ua.ac.be> wrote in message news:3dcda833$1_at_news.uia.ac.be...
> Lauri Pietarinen wrote:
> >Jan Hidders wrote:
> >> Another thing I wondered about while reading it is if I can express the
> >> NEST and the UNNEST operations of the nested relational algebra. I seem
to
> >> remember that Date & Darwen were heavily opposed to those operations, but
> >> the language would otherwise be certainly computationally incomplete. So,
> >> can I?
> >
> >I took a look at the printed version of TTM (2ed)
> >(which is not available on line).
>
> This is of course their good right but I hope the authors realize how much
> better for the acceptance of their model it would be if it were on line.
> Think of ODMG/OQL and W3C/XML.

How much difference do you think it would make? I agree that their model could certainly be 'marketed' with more, err pazazz.

> >On pages 137-138 there is a discussion of NEST and UNNEST
> >(in Tutorial-D the operations are called GROUP and UNGROUP).
>
> Wow!! Do you realize what this means? Chris Date has recanted! The
> relational model is dead, long live the nested relational model. We can
> finally kiss the 1NF good bye. Good riddance, I say. I think I'm beginning
> to like Tutorial-D. :-)
>
> So can I abuse you a little more as my tutorial-D tutor? :-) Can I have
> recursive types? For example (probably not the right syntax, but I think you
> will understand what I mean):
>
> TYPE Tree = TUPLE { NODE-VALUE STRING, SUBTREES RELATION { TREE Tree } }

I don't have the book on me today, but I'm sure that they explicitly disallow such recursive definition of both tuples and relvars.

Are there arguments in favour of recursively defined types in the relational model? I don't recall D&D explaining why they disallow them.

What would a valid value of Tree look like?

{"NodeA:Value1", ("NodeB:Value2", ("", {}) )}

How do we avoid recursing infinitely?

Regards
Paul Vernon
Business Intelligence, IBM Global Services Received on Mon Nov 11 2002 - 15:24:41 CET

Original text of this message