dbTalk Databases Forums  

simple tree in postgress

comp.databases.postgresql.questions comp.databases.postgresql.questions


Discuss simple tree in postgress in the comp.databases.postgresql.questions forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Liza
 
Posts: n/a

Default simple tree in postgress - 01-16-2004 , 12:44 PM






Hi, I'm a novice to postgress and need to constract a simple tree.
In my table I have:

regionID int
parentID int
name char

I need to do two functions: find all the children of XXX parent and
find if an item is a child of an XXX parent.

I've looked in the discussions and I think there are at least two ways
of doing it:

(I'm pasting the following from one of the threads)

category_id | parent_id | sort_key | name
-------------+-----------+----------+---------------------
0 | | aa | Top
10 | 0 | aaab | Propaganda
43 | 10 | aaabaa | Quotes
12 | 10 | aaabab | Presentations
70 | 10 | aaabai | Waivers
4 | 10 | aaabaj | Legislation
54 | 4 | aaabajaa | Youth in Politics
36 | 10 | aaabak | Statistics

This looks easy and I can see how to write queris using 'LIKE' on a
sort_key

The other way is to do preorder, inorder or postorder travrsals and
describe the level of the item and its traversal sequence number. The
example I found was a bit confusing. Can you point me to a place
where I can find more examples/explanations.

Are there other ways of doing it? My tree would be small, maybe 5 - 7
levels and not too many leaves. What are the advantages/disadvantages
of each method?
Is there a better way? Does postgress offer any built in
functions/packages to work with simple trees?
I appreciate your advice.
Thank you
N.K.

Reply With Quote
  #2  
Old   
boyd
 
Posts: n/a

Default Re: simple tree in postgress - 01-19-2004 , 04:45 PM






In article <3ff15ff1.0401161044.3acc25b2 (AT) posting (DOT) google.com>,
nkunkov (AT) optonline (DOT) net (Liza) wrote:

Quote:
Hi, I'm a novice to postgress and need to constract a simple tree.
In my table I have:

regionID int
parentID int
name char

I need to do two functions: find all the children of XXX parent and
find if an item is a child of an XXX parent.

I've looked in the discussions and I think there are at least two ways
of doing it:

(I'm pasting the following from one of the threads)

category_id | parent_id | sort_key | name
-------------+-----------+----------+---------------------
0 | | aa | Top
10 | 0 | aaab | Propaganda
43 | 10 | aaabaa | Quotes
12 | 10 | aaabab | Presentations
70 | 10 | aaabai | Waivers
4 | 10 | aaabaj | Legislation
54 | 4 | aaabajaa | Youth in Politics
36 | 10 | aaabak | Statistics

This looks easy and I can see how to write queris using 'LIKE' on a
sort_key

The other way is to do preorder, inorder or postorder travrsals and
describe the level of the item and its traversal sequence number. The
example I found was a bit confusing. Can you point me to a place
where I can find more examples/explanations.

Are there other ways of doing it? My tree would be small, maybe 5 - 7
levels and not too many leaves. What are the advantages/disadvantages
of each method?
Is there a better way? Does postgress offer any built in
functions/packages to work with simple trees?
I appreciate your advice.
Thank you
N.K.
Liza, there is an excellent series of articles by Joe Celko on how to
use SQL for tree structures. I got his method working about a yr. ago
and dig it up for an example if you need it.

The articles start at:
http://www.intelligententerprise.com...celko1_1.shtml

Boyd



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.