Re: How to represent a tree-structure in a relational database

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: How to represent a tree-structure in a relational database
Дата
Msg-id 3A38192F.EDC76961@agliodbs.com
обсуждение исходный текст
Ответ на RE: How to represent a tree-structure in a relational database  ("Stuart Statman" <stu@slammedia.com>)
Ответы Re: How to represent a tree-structure in a relational database  (Mathijs Brands <mathijs@ilse.nl>)
RE: How to represent a tree-structure in a relational database  ("Opec Kemp \( Ozemail \)" <okemp@ozemail.com.au>)
Re: How to represent a tree-structure in a relational database  (Tulassay Zsolt <zsolt@tek.bke.hu>)
Список pgsql-sql
Stuart,

> I don't think I'd be comfortable with having the node_level column in the
> table structure. First, because you can derive that value using a function,
> it's duplicate data. Second, if you decide to take an entire segment of your
> hierarchy and move it under another node (by changing the value of
> node_linkup/ParentCategoryID), you'll need to recalculate all of those
> node_level values. And all the node_level values underneath it.

I can see that.  I suppose it depends on the data you're storing.  The
project I was working on tracked grocery inventory for a delivery
service, and thus each item had a fixed "level" in the heirarcy (Food
Class, Food Type, Manufacturer, and Item) and thus while items might get
reassigned *across* the heirarcy, they did not get re-assigned *up and
down* the heirarcy.

Also, I can't think of a way to represent the tree in pure SQL without
having the level identifiers (and a fixed number of levels).

> We've done a similar thing for Java. It was ridiculously easy to create a
> TreeModel wrapped around this data. Almost too easy; it made me feel dirty.

Great.  Maybe I'll buy it from you if I ever need to use Java :-)
                -Josh

-- 
______AGLIO DATABASE SOLUTIONS___________________________                                       Josh Berkus  Complete
informationtechnology      josh@agliodbs.com   and data management solutions       (415) 436-9166  for law firms, small
businesses      fax  436-0137   and non-profit organizations.       pager 338-4078                               San
Francisco


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Brett W. McCoy"
Дата:
Сообщение: Re: postgres
Следующее
От: Mathijs Brands
Дата:
Сообщение: Re: How to represent a tree-structure in a relational database