ссылки по "деревянной" теме от G_Z :)
Misha v.3 17.05.2006 14:10
/ 17.05.2006 14:22
в порядке убывания адекватности с моей точки зрения :)
http://gsbelarus.com/gs/modules.php?name=News&file=article&sid=314http://www.delphikingdom.com/asp/answer.asp?IDAnswer=29168http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1263http://phpclub.ru/faq/wakka.php?wakka=Tree&v=w5uвозвращаясь к нашим арбузам...
если разрешить объекту находиться в нескольких местах дерева то возникает проблема: сложно давать "ссылку" (я подразумевая не URI) на объект, с указанием его положения в конкретной точке дерева.
в частности можно попробовать сделать так:
- добавляем object_to_object.uid
- записи в таблице object_to_object, которые показывают иерархию объектов в дереве имеют uid = NULL. когда нам нужно дать ссылку на объект, расположеный в определенном месте дерева, мы генерим uid (уникальный) и добавляем записи в таблицу object_to_object, которые фактически дублируют часть связей для интересующего нас объекта в указываемом месте дерева до корня но при этом в поле uid содержат одинаковое значение (то, что сгенерировали). соотвественно в качестве ссылки на объект, расположеный в определенном месте дерева выступает этот uid.
ещё вариант:
- принять решение что один объект не может находится два раза у одного и того-же родителя (хотя сразу приходит в голову ситуация когда это может потребоваться). в этом случае можно в качестве ссылки использовать комбинацию parent_id И object_id.
хотя проблемы возникнут в так-же и другом месте (смотрим пост. Sergey M.). так что наверное лучше забить на то, что объект может быть в нескольких местах дерева, а использовать эту реализацию лишь для того чтобы избавиться от рекурсии при построении дерева :)