Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!colt.net!nntp.theplanet.net!inewsm1.nntp.theplanet.net!newsfeed1.swip.net!swipnet!newsfeed1.funet.fi!newsfeeds.funet.fi!uio.no!ntnu.no!not-for-mail
From: Jon Heggland <heggland@idi.ntnu.no>
Newsgroups: comp.databases.theory
Subject: Re: MV Keys
Date: Fri, 3 Mar 2006 17:11:31 +0100
Organization: IDI/NTNU
Lines: 56
Message-ID: <MPG.1e728908ba7341f9989785@news.ntnu.no>
References: <1140915349.609443.285650@e56g2000cwe.googlegroups.com> <1140916287.800990.284570@t39g2000cwt.googlegroups.com> <Xz9Mf.37664$F_3.21295@newssvr29.news.prodigy.net> <1140928045.223226.301140@i40g2000cwc.googlegroups.com> <440185c0$0$11076$e4fe514c@news.xs4all.nl> <1140963712.820976.72300@u72g2000cwu.googlegroups.com> <4401cd8b$0$11062$e4fe514c@news.xs4all.nl> <1140981916.897576.34490@u72g2000cwu.googlegroups.com> <1141000908.277461.101140@t39g2000cwt.googlegroups.com> <MPG.1e6e1c576dad2a0298976b@news.ntnu.no> <1141180942.125742.288830@j33g2000cwa.googlegroups.com> <MPG.1e6f9e5a3f96c28d98976c@news.ntnu.no> <1141239957.788010.239620@j33g2000cwa.googlegroups.com> <1141260473.796686.131530@u72g2000cwu.googlegroups.com> <MPG.1e710d32cc86fa77989770@news.ntnu.no> <1141324828.479189.199000@i40g2000cwc.googlegroups.com> <MPG.1e72083e15dbf5e598977b@news.ntnu.no> <1141399209.093211.14150@z34g2000cwc.googlegroups.com>
NNTP-Posting-Host: coleburn.idi.ntnu.no
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
X-Trace: orkan.itea.ntnu.no 1141402296 27006 129.241.111.99 (3 Mar 2006 16:11:36 GMT)
X-Complaints-To: usenet@itea.ntnu.no
NNTP-Posting-Date: Fri, 3 Mar 2006 16:11:36 +0000 (UTC)
User-Agent: MicroPlanet-Gravity/2.60.2060
Xref: dp-news.maxwell.syr.edu comp.databases.theory:37196

In article <1141399209.093211.14150@z34g2000cwc.googlegroups.com>, 
marshall.spight@gmail.com says...
> Jon Heggland wrote:
> > And is the library/language distinction really that clear cut?
> > Is the String class in the language or in the library?
> 
> Both. But the issue I'm trying to raise here is interface.
> And by those terms, we would say String is in the library.

Why? How do you make that decision?

> > and that the classification of types into compound and simple is
> > essentially arbitrary.
> 
> Did I say that? I kind of believe that, but I kind of don't.

You said something along the lines of strings not being considered 
compound merely by convention, tradition and convenience.

> > What, then, is the use of talking about 1NF and
> > simple vs compound types at all?
> 
> I think the choice of collections has a big impact on the
> utility of a language.

Without a doubt. But what is the use of talking about 1NF and
simple vs compound types in that regard? Can't we just say "We want 
collection types. But which ones?"

> The relational operators don't handle lists very well.
> 
> myList.removeAt(3)
> 
> vs.
> 
> BEGIN
> delete from MyList where Index = 3;
> update MyList set Index = Index - 1 where Index > 3;
> COMMIT

Yes. Though if you look at the implementation of removeAt(), you will 
probably find something rather similar to the SQL code there. Likewise, 
if you wrap the SQL code in a procedure, there is no real difference.

(Except that "list relations" can easily have more than one "data 
column"; lists typically can't---unless you use tuple types or something 
similar. The physical model might be a consideration, too. If you do a 
lot of indexOf() operations, it might be sensible to store the 
collection sorted on the data instead of on the index, as lists 
typically are. Or are you planning such features for lists in your 
system?)

Note that I'm not opposed to list or set attributes. I do think, 
however, that RVAs should be supported; everything else is just gravy.
-- 
Jon
