SQL99 - Nested Tables

Started by Darren Alcornover 20 years ago15 messages
#1Darren Alcorn
dalcorn@gmail.com

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that the
XML features of SQL2003 would prove useful for EnterpriseDB.

I have developed applications using Microsoft SQL Server since 1999. I
have only been programming in C for about a year. I was curious as to
what I might could do to contribute towards nested table support. I
personally think it's needed, and am willing to do whatever I need to
to make it happen.

My first step was to get the latest source and try and understand it some.

Darren Alcorn

#2Josh Berkus
josh@agliodbs.com
In reply to: Darren Alcorn (#1)
Re: SQL99 - Nested Tables

Darren,

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that the
XML features of SQL2003 would prove useful for EnterpriseDB.

I realize that nested tables are in SQL99, but so is SQLJ and a few other
really dumb ideas. As Joe Celko (member of the SQL92 committee) put it, "we
were a committee, and a committee never met a feature it didn't like."

Can you make a use-case for nested tables? It would need to be a fairly
strong one, given that they basically violate the relational model. If what
you're really interested in is XML data support, then I'd suggest focusing on
that instead.

Of course, that's just my opinion.

--
Josh Berkus
Aglio Database Solutions
San Francisco

#3Darren Alcorn
dalcorn@gmail.com
In reply to: Josh Berkus (#2)
Re: SQL99 - Nested Tables

I was mainly interested because of the simplicity it seems to add for
implementing an application using the database. While those accustomed to
writing SQL queries using joins and keys might prefer it for many
understandable reasons, there is something to be said for multidimensional
data structures. It would be like if you _had_ to have multiple arrays to
store information in C instead of using a multidimensional array.
I'm open to debate on the subject as I'd love to be convinced that Oracle is
wrong. I think the XML features are important and I'd be more suited writing
something more straight forward versus re-inventing the wheel. I brought it
up for debate, because I thought it was something that should be thought
about.
Darren Alcorn

Show quoted text

On 7/7/05, Josh Berkus <josh@agliodbs.com> wrote:

Darren,

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that the
XML features of SQL2003 would prove useful for EnterpriseDB.

I realize that nested tables are in SQL99, but so is SQLJ and a few other
really dumb ideas. As Joe Celko (member of the SQL92 committee) put it,
"we
were a committee, and a committee never met a feature it didn't like."

Can you make a use-case for nested tables? It would need to be a fairly
strong one, given that they basically violate the relational model. If
what
you're really interested in is XML data support, then I'd suggest focusing
on
that instead.

Of course, that's just my opinion.

--
Josh Berkus
Aglio Database Solutions
San Francisco

#4David Fetter
david@fetter.org
In reply to: Josh Berkus (#2)
Re: SQL99 - Nested Tables

On Thu, Jul 07, 2005 at 09:52:44AM -0700, Josh Berkus wrote:

Darren,

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that
the XML features of SQL2003 would prove useful for EnterpriseDB.

I realize that nested tables are in SQL99, but so is SQLJ and a few
other really dumb ideas. As Joe Celko (member of the SQL92
committee) put it, "we were a committee, and a committee never met a
feature it didn't like."

Can you make a use-case for nested tables?

Now that the time travel option is gone, this is a way of implementing
it.

It would need to be a fairly strong one, given that they basically
violate the relational model. If what you're really interested in
is XML data support, then I'd suggest focusing on that instead.

XML data support would be best if coordinated. There are several
different projects right now, and one more would be bad.

Of course, that's just my opinion.

I think it would be kinda nice if a column type could be anything,
including SETOF some_composite_type. If I recall correctly, Illustra
had this, and it was a pretty cool feature :) It might also help
implement the SQL:2003 standard for UNNEST, MULTISET, FUSION, COLLECT
and INTERSECT.

In re: the relational model, that's already broken, although Date's
excellent new book from O'Reilly encourages people to implement
Tutorial D. :)

Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!

#5Josh Berkus
josh@agliodbs.com
In reply to: Darren Alcorn (#3)
Re: SQL99 - Nested Tables

Darren,

I was mainly interested because of the simplicity it seems to add for
implementing an application using the database. While those accustomed
to writing SQL queries using joins and keys might prefer it for many
understandable reasons, there is something to be said for
multidimensional data structures. It would be like if you _had_ to have
multiple arrays to store information in C instead of using a
multidimensional array. I'm open to debate on the subject as I'd love to
be convinced that Oracle is wrong.

Ooops. Our discussion somehow got shifted off list. Suffice it to say
that not everyone agrees with me.

I think the XML features are
important and I'd be more suited writing something more straight forward
versus re-inventing the wheel. I brought it up for debate, because I
thought it was something that should be thought about.

Yes, I just don't see how nested tables relate to XML.

--
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

#6David Fetter
david@fetter.org
In reply to: Josh Berkus (#5)
Re: SQL99 - Nested Tables

On Thu, Jul 07, 2005 at 12:53:14PM -0700, Josh Berkus wrote:

Darren,

I was mainly interested because of the simplicity it seems to add for
implementing an application using the database. While those accustomed
to writing SQL queries using joins and keys might prefer it for many
understandable reasons, there is something to be said for
multidimensional data structures. It would be like if you _had_ to have
multiple arrays to store information in C instead of using a
multidimensional array. I'm open to debate on the subject as I'd love to
be convinced that Oracle is wrong.

Ooops. Our discussion somehow got shifted off list. Suffice it to say
that not everyone agrees with me.

Where "not everyone" includes one C. J. Date ;)

I think the XML features are important and I'd be more suited
writing something more straight forward versus re-inventing the
wheel. I brought it up for debate, because I thought it was
something that should be thought about.

Yes, I just don't see how nested tables relate to XML.

To me, they don't relate directly, as tables (nested or otherwise)
have no intrinsic row ordering, where XML does. Nested tables is a
Good Thing(TM) though :)

Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!

#7Darren Alcorn
dalcorn@gmail.com
In reply to: David Fetter (#6)
Re: SQL99 - Nested Tables

The way I understand Nested Tables and Object Relational Databases,
they basically are a layer on top of any old RDBMS that adds ease for
the user. I personally believe in normalization theory I just don't
like implementing it to avoid JOIN syntax.

How difficult would it be to implement (for those more familiar with
the code) to write such a "layer." It could always be a patch until I
can persuade more people that it's a good idea.

Darren

On Jul 7, 2005, at 7:09 PM, David Fetter wrote:

Show quoted text

On Thu, Jul 07, 2005 at 12:53:14PM -0700, Josh Berkus wrote:

Darren,

I was mainly interested because of the simplicity it seems to add
for
implementing an application using the database. While those
accustomed
to writing SQL queries using joins and keys might prefer it for many
understandable reasons, there is something to be said for
multidimensional data structures. It would be like if you _had_
to have
multiple arrays to store information in C instead of using a
multidimensional array. I'm open to debate on the subject as I'd
love to
be convinced that Oracle is wrong.

Ooops. Our discussion somehow got shifted off list. Suffice it
to say
that not everyone agrees with me.

Where "not everyone" includes one C. J. Date ;)

I think the XML features are important and I'd be more suited
writing something more straight forward versus re-inventing the
wheel. I brought it up for debate, because I thought it was
something that should be thought about.

Yes, I just don't see how nested tables relate to XML.

To me, they don't relate directly, as tables (nested or otherwise)
have no intrinsic row ordering, where XML does. Nested tables is a
Good Thing(TM) though :)

Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!

#8Josh Berkus
josh@agliodbs.com
In reply to: David Fetter (#6)
Re: SQL99 - Nested Tables

David,

Nested tables is a
Good Thing(TM) though :)

Hmmm. I don't buy that they are an a priori Good Thing. What are they
good for? I can't think of a single occasion in my 12-year database
career where I found myself wanting one.

Seems to me that, SQL standard or not, nested tables are just a jumbo-sized
foot gun for new DBAs. And it's not like they'll be trivial to implement.

--
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

#9David Fetter
david@fetter.org
In reply to: Josh Berkus (#8)
Re: SQL99 - Nested Tables

On Thu, Jul 07, 2005 at 05:14:27PM -0700, Josh Berkus wrote:

David,

Nested tables is a Good Thing(TM) though :)

Hmmm. I don't buy that they are an a priori Good Thing. What are
they good for? I can't think of a single occasion in my 12-year
database career where I found myself wanting one.

If they'd been available when you started, you might find them
indispensable. :)

Seems to me that, SQL standard or not, nested tables are just a
jumbo-sized foot gun for new DBAs.

There are quite a few things in PostgreSQL than have already been
implemented which can serve this function. Ask a new DBA what she
expects table inheritance to do or not to do, for example.

And it's not like they'll be trivial to implement.

Probably not, but implementing them will very likely open the door to
implementing other parts of the SQL standard that really are fun. :)

Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!

#10Dennis Bjorklund
db@zigo.dhs.org
In reply to: Darren Alcorn (#1)
Re: SQL99 - Nested Tables

On Wed, 6 Jul 2005, Darren Alcorn wrote:

I was interested as to if there were plans to develop SQL99 nested
tables.

Could you give an example of SQL99 nested tables? It might help us who
don't know what the term stand for understand the issue. I've browsed
through (bur not fully read) sql99 more then once in my life and I don't
recall any nested tables.

--
/Dennis Bj�rklund

#11Darren Alcorn
dalcorn@gmail.com
In reply to: Dennis Bjorklund (#10)
Re: SQL99 - Nested Tables

Here is a link that has a description. There is also a lot of
examples (of syntax as well) on Oracle's website.

http://www-db.stanford.edu/~ullman/fcdb/oracle/or-objects.html#nested

Darren

On Jul 8, 2005, at 9:58 AM, Dennis Bjorklund wrote:

Show quoted text

On Wed, 6 Jul 2005, Darren Alcorn wrote:

I was interested as to if there were plans to develop SQL99 nested
tables.

Could you give an example of SQL99 nested tables? It might help us who
don't know what the term stand for understand the issue. I've browsed
through (bur not fully read) sql99 more then once in my life and I
don't
recall any nested tables.

--
/Dennis Björklund

#12Bruno Wolff III
bruno@wolff.to
In reply to: Darren Alcorn (#11)
Re: SQL99 - Nested Tables

On Fri, Jul 08, 2005 at 10:03:57 -0400,
Darren Alcorn <dalcorn@gmail.com> wrote:

Here is a link that has a description. There is also a lot of
examples (of syntax as well) on Oracle's website.

http://www-db.stanford.edu/~ullman/fcdb/oracle/or-objects.html#nested

So they are permitting sets as a data type and then proceed to use a
misleading example (polygons are ordered sets of points).

Postgres already provides mechanisms to do the same thing using custom
datatypes. What it looks like they provide in addition is efficient(?)
relational (i.e. set) operators and foreign key constraints.

#13Affan Salman
affans@gmail.com
In reply to: Darren Alcorn (#1)
Re: SQL99 - Nested Tables

On 7/7/05, Darren Alcorn <dalcorn@gmail.com> wrote:

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that the
XML features of SQL2003 would prove useful for EnterpriseDB.

Although this discussion seems to be heading more towards Nested
Tables, I would like to express that EnterpriseDB is very interested
in seeing XML features of SQL2003 specs added to PostgreSQL.

We would love to sponsor anybody possessing the pertinent skillset and
interested in working on these bi-directional mapping features. This,
of course, includes folks already working on any XML-oriented projects
for PostgreSQL. If you are interested, drop a private e-mail to Denis
Lussier (luss@enterprisedb.com).

Affan Bin Salman,
Lead Database Architect
EnterpriseDB Corporation.

mailto: affan@enterprisedb.com
blog: http://affans.blogspot.com

#14Affan Salman
affans@gmail.com
In reply to: David Fetter (#4)
Re: SQL99 - Nested Tables

On 7/7/05, David Fetter <david@fetter.org> wrote:

It would need to be a fairly strong one, given that they basically
violate the relational model. If what you're really interested in
is XML data support, then I'd suggest focusing on that instead.

XML data support would be best if coordinated. There are several
different projects right now, and one more would be bad.

David,

Can you enumerate or refer to these *apparently*
uncoordianted/disparate XML data support projects? I would also
appreciate any progress/status information on 'em, if possible.

Thanks,

Affan Bin Salman,
Lead Database Architect
EnterpriseDB Corporation.

mailto: affan@enterprisedb.com
blog: http://affans.blogspot.com

#15Oleg Bartunov
oleg@sai.msu.su
In reply to: Affan Salman (#13)
Re: SQL99 - Nested Tables

On Wed, 13 Jul 2005, Affan Salman wrote:

On 7/7/05, Darren Alcorn <dalcorn@gmail.com> wrote:

I was interested as to if there were plans to develop SQL99 nested
tables. I know with AJAX(tm) starting to grow in popularity that the
XML features of SQL2003 would prove useful for EnterpriseDB.

Although this discussion seems to be heading more towards Nested
Tables, I would like to express that EnterpriseDB is very interested
in seeing XML features of SQL2003 specs added to PostgreSQL.

We would love to sponsor anybody possessing the pertinent skillset and
interested in working on these bi-directional mapping features. This,
of course, includes folks already working on any XML-oriented projects
for PostgreSQL. If you are interested, drop a private e-mail to Denis
Lussier (luss@enterprisedb.com).

Now, after we have GiST with concurrent and recovery support I see no
obstacle to implement native XML support using GiST. A long time ago
I thought about ltree + hstore hybrid to work with XML, but unfortunately,
we were busy.

Affan Bin Salman,
Lead Database Architect
EnterpriseDB Corporation.

mailto: affan@enterprisedb.com
blog: http://affans.blogspot.com

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83