![]() |
|
||||||||||
|
|||||
|
Есть древовидная структура, произвольно разветвленная. нужно уметь извлекать ветку дерева как снизу, так и сверху: 1) от вершины все дочерние 2) от дочерней полный путь к корню
Я рассмотрел 2 варианта: 1. Для каждого "листа дерева" содержится его id, id родителя и level. Тогда нужно составлять сложный запрос, либо рекурсивно запрашивать (что, мне кажется, не самое быстрое регение), либо извлекать простым запросом и потом анализировать полученные данные. 2. id листьев строится через id родителей, например, в виду char через delimiter. То есть id родителя - 1, то id дочерних листьев 1d1, 2d1 и т.д., где d-разделитель (любой нецифровой символ, например). Запрос в этом случае всегда проще, но хранятся избыточные данные. Какой вариант предпочтительнее? какие есть еще способы формирования деревьев исходя из соображений простого и быстрого извлечения ветвей? --- Спасибо!
__________________
suum quique |
![]() |
Часовой пояс GMT +4, время: 21:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|