--- "CPT John W. Holmes" <[EMAIL PROTECTED]> wrote:
> From: "Mark" <[EMAIL PROTECTED]>
> 
> 
> > I'm trying to get a handle on this algorithm as well. If you add
> > additional children to a parent record, doesn't that require
> > renumbering all the rgt and lft values in the lineage? For
> example
> > (table shamelessly stolen from a website):
> >
> > Personnel
> >  emp         lft  rgt
> >  ======================
> >  'Albert'      1   12
> >  'Bert'        2    3
> >  'Chuck'       4   11
> >  'Donna'       5    6
> >  'Eddie'       7    8
> >  'Fred'        9   10
> >
> > If I want to add 'Joe' as a subordinate to 'Fred', doesn't that
> mean
> > I have to change the lft values for Fred, Chuck, and Albert? Yes,
> > deleting definitely seems easier. I'm curious about adding...
> 
> Yes, you will have to update all of the right and left numbers to
> the right
> (or higher) than the node where you are inserting. Deleting is
> basically the
> same method done in reverse, but can get complicated when you
> delete a node
> and have to determine what to do with the children.
> 
> I'd recommend, if you're really interested in this, to do some
> searching on
> nested set tutorials. You could specifically search for Joe Celko
> who has
> written a lot of information on the topic.

Thanks. I'll take a look. I'm considering changing to this algorithm
from my basic parent-ID table.

> 
> While it seems like a big deal to have to update all of the
> numbers, it's
> really not. It can be done with a single query (with subselects).
> Yes, it's
> more costly than inserting a name into an adjacentcy list model,
> but it's
> worth it for all that you gain from the nested set model.
> 
> ---John Holmes...
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 


=====
Mark Weinstock
[EMAIL PROTECTED]
***************************************
You can't demand something as a "right" unless you are willing to fight to death to 
defend everyone else's right to the same thing.
***************************************

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to