Re: MV Keys

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Mon, 6 Mar 2006 11:25:31 +0100
Message-ID: <MPG.1e762c714493eb8c989789_at_news.ntnu.no>


In article <JT1Of.30$ky1.2_at_trndny06>, dcressey_at_verizon.net says...
>
> "Jon Heggland" <heggland_at_idi.ntnu.no> wrote in message
> news:MPG.1e7138dbe026bb23989778_at_news.ntnu.no...
> > In article <iJDNf.676$ZL1.483_at_trndny09>, dcressey_at_verizon.net says...
> > > Is a"tuple valued attribute" the same thing as a "relation valued
> > > attribute, constrained to a cardinality of one"?
> >
> > Is a character the same thing as a string, constrained to a length of 1?
> > Is any kind of value the same thing as a constrained vector of such
> > values? Is a vector a constrained matrix? Why do you ask?
>
> My question was mostly rhetorical. But I was prepared to read, with
> surprise, an affirmative answer.
>
> To me a relation that only contains one tuple, and the tuple that it
> contains are different things.

I agree. Perhaps Marshall meant that if you have RVAs, you don't really need tuple attributes, because you can "simulate" them using a RVA with cardinality one (just like you can "simulate" a list using a relation)---not that a tuple is a special kind of relation?

In D4, they are definitely not the same. When you create event handlers (triggers) in D4, you make operators that take an argument of some tuple type (the tuple type of the relvar you are going to attach the event handler to, of course). It is therefore important to be able to separate between a tuple type and its corresponding relation type. The operators of the respective type kinds are also rather different, of course.

-- 
Jon
Received on Mon Mar 06 2006 - 11:25:31 CET

Original text of this message