Naeel Maqsudov » 18 май 2006, 09:20
Не знаю, верно ли делаю, но обычно, для хранения подчиненных данных (оно же, деревьев), использую просто ссылку на родителя.
при выборке - фильтруем по полю parent, сначала по пустому (ну или можно -1 задать на некоторых базах)
потом пробегаем по сету и для каждого элемента делаем выборку по parent=id родителя и т.д. пока
выборка не будет пустая
Если БД - Oracle to все дерево выбирается за 1 раз одним select-ом.
см. конструкции CONNECT и START WITH
[quote]Не знаю, верно ли делаю, но обычно, для хранения подчиненных данных (оно же, деревьев), использую просто ссылку на родителя.
при выборке - фильтруем по полю parent, сначала по пустому (ну или можно -1 задать на некоторых базах)
потом пробегаем по сету и для каждого элемента делаем выборку по parent=id родителя и т.д. пока
выборка не будет пустая[/quote]
Если БД - Oracle to все дерево выбирается за 1 раз одним select-ом.
см. конструкции CONNECT и START WITH