From: Christopher Kings-Lynne <chriskl@familyhealth.com.au>
To: Gregory Brauer <greg@wildbrain.com>
To: pgsql-sql@postgresql.org
Subject: Re: Trees in SQL
Date: Fri, 24 May 2002 17:04:01 -0700
Message-ID: <011501c2037f$ad4b5340$9865fea9@Allan> (raw)
References: <3CEE818B.9020702@wildbrain.com>
Try here maybe:
http://cddb.sai.msu.su/~megera/postgres/gist/
Look at their new 'tree' module...
Chris
----- Original Message -----
From: "Gregory Brauer" <greg@wildbrain.com>
To: <pgsql-sql@postgresql.org>
Sent: Friday, May 24, 2002 11:08 AM
Subject: [SQL] Trees in SQL
>
> I hope this isn't an overly broad topic that ends up diverging into graph
> theory, but I have a tree structure of identical items (analogous to a
> filesystem directory tree) that I need to store in Postgres. The
> "obvious" design is to give the table that will represent these objects
> a field identifying its "parent" that is a relation to the same table.
> However, this seems to make many common SQL queries rather difficult.
>
> What sort of strategies are best for storing tree structures in a
> relational database, and how would one structure SQL queries to find,
> say, "all of the children anywhere under this node", or to represent
> the condition "if this node is a child at any depth under this other
> node"? Are there good strategies for preventing cycles?
>
> I'd appreciate any insights anyone can give.
>
> Thanks.
>
> Greg Brauer
> greg@wildbrain.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: chriskl@familyhealth.com.au, greg@wildbrain.com
Subject: Re: Trees in SQL
In-Reply-To: <011501c2037f$ad4b5340$9865fea9@Allan>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox