Thanks Dennis and Jay. I'll go through your posts. It seems your 
approach "extends" the list model i'd like to use. All other approaches 
seem to be very (too) complex. It is somehow strange that something as 
universal and simple like a family tree is so hard to maintain/create 
with a database.

Dennis Cote schrieb:
> Jay A. Kreibich wrote:
>>   You can't with just SQL.  This is the whole issue with adjacency lists.
>>   Most basic operations, like finding ancestor lists, counting tree depths,
>>   finding a list of all children or descendants, etc., require some
>>   kind of loop.  
>>
>>   
> I have posted about the "materialized path" approach to trees in SQL 
> which I have used very successfully. See 
> http://www.mail-archive.com/sqlite-users@sqlite.org/msg13225.html for 
> the original post (also see  
> http://www.mail-archive.com/sqlite-users@sqlite.org/msg19507.html for 
> some additional ideas about formatting reports). This is a variation of 
> the adjacency list technique that also stores a path through the tree to 
> each node (hence the name "materialized path" as opposed to a virtual 
> path stored as a sequence of links in the adjacency list).  This path is 
> maintained automatically by triggers.
> 
> Having the paths available turns many common tree queries into pattern 
> matches against the path using like conditions on standard SQL queries.
> 
> Unless your tees are very large I find this method to be a very good 
> alternative to simple adjacency lists or nested sets.
> 
> HTH
> Dennis Cote
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to