Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.26;
Скачать: CL | DM;

Вниз

MSSQL и деревья   Найти похожие ветки 

 
Michail Dalakov ©   (2003-12-28 16:40) [0]

В Oracle можно запросом вернуть древовидную структуру или определенную ветку дерева, возможно ли такое в MSSQL


 
just me   (2003-12-28 16:48) [1]

буквально пару дней назад была об этом ветка, поищи в архиве


 
Michail Dalakov ©   (2003-12-28 17:05) [2]

To [1],
Спасибо нашел, но честно говоря мало что полезного, насколько, я понял деревья строились на клиенте, и насколько я понял имея в базе два поля ID и PARENT_ID MSSQL не позволяет построить иерархическую структуру одним SQL запросом.


 
Delirium ©   (2003-12-28 17:29) [3]

Совершенно верно, в MSSQL нет базовых операторов для развёртки деревьев, однако простенький цикл и временная таблица решают эту проблему ни чуть не хуже Oracle.


 
Michail Dalakov ©   (2003-12-28 17:54) [4]

To Delirium
В таком случае лучше завести HASH поле в котором будет храниться путь и строить дерево на клиенте за один проход


 
Delirium ©   (2003-12-28 18:00) [5]

Такое поле надо будет поддерживать, что обязательно скажется на производительности... Хотя у каждого свои подходы 8)


 
Michail Dalakov ©   (2003-12-28 18:30) [6]

Конечно, надо поддерживать, если нет групповых операций над узлами, то уменьшение производительности несущественно, это и есть та плата за поледующее быстродействие - построение за один проход, если таблица довольно большая и не использовать SmartLoad, то это единственный вариант


 
Delirium ©   (2003-12-28 18:34) [7]

Увы, в тех задачах, где мне приходилось строить деревья, узлы не только меняли родителей на одном уровне, но и меняли сам уровень. Так что оставалось только оринетироваться на идентификатор предка и потоянно "бегать" вверх и вниз :)

P.S. Я пошёл пить водку, с новым годом! ;)


 
Michail Dalakov ©   (2003-12-28 18:43) [8]

Всем спасибо!
Всех с новым годом!



Страницы: 1 вся ветка

Текущий архив: 2004.01.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-83148
alex_***
2004-01-15 12:08
2004.01.26
netapi32.dll


8-83215
UltraFreak
2003-09-19 11:53
2004.01.26
Алгоритм цветового круга


14-83264
iriska
2003-12-27 20:12
2004.01.26
компонент реализующий нахождение корней методом Зейделя


8-83216
Fatkulin
2003-09-22 20:33
2004.01.26
Звук


14-83271
Kair
2004-01-04 10:50
2004.01.26
Методы оптимизации