Как правильно хранить структуры данных типа деревьев?

1 23
A
На сайте с 19.07.2010
Offline
130
#21
VHS:
admak, а как с удобством переноса веток дерева обстоит дело? Удобно ли?

Перенос ветки - это изменение парента у нее и запуск ребилда. Одновременно переносить можно любое количество ветвей, затем ребилд.

Преемущество этого вида дерева:

- быстрые выборки

- любой уровень вложености

- легко модифицировать дерево (удаление/вставка/перемещение ветвей)

Недостаток:

- необходимость запуска ребилда при модификации дерева.

Поэтому это дерево лучше использовать там, где дерево меняется не часто, например для категорий.

.............
A
На сайте с 01.09.2007
Offline
83
#22

Вопрос к гуру.

Как найти красивое решение для построения в базе данных MySQL таблицы через NESTED SETS?

Есть дерево,как пример

root

.Книги

..Книги художественные

...Исторические

...До 1917

..Книги документальные

...Книги о войне

...Воспоминания

.Письма

..Письма личные

..Письма исторические

...Письма писателей

и так далее....

Как построить Дерева каталогов NESTED SETS?

Читал, читал, а все же знаний не хватает.

Понимаю, что такое надо применить.

http://www.php.su/articles/?cat=phpdb&page=013

http://www.poiu.ru/lessons/index.php-18.htm

Кто подскажет как создать таблицу запросов?

Вывод должен быть таким.

id pid numleft numright numlevel title

ДП
На сайте с 23.11.2009
Offline
203
#23

В своё время запросы строил по этой статье про nested sets - http://www.getinfo.ru/article610.html

по-моему там всё хорошо пояснено с картинками и запросами.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий