1 / 1 / 0
Регистрация: 28.09.2007
Сообщений: 285
1

Построить в Oracle иерархическую структуру данных

09.12.2008, 10:33. Показов 3274. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, плиз, новичку построить в Oracle иерархическую структуру данных с любой глубиной вложенности
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2008, 10:33
Ответы с готовыми решениями:

Составить иерархическую модель данных
Предметная область: логистическая компания. Основные сущности: заказ на доставку, груз, город,...

Как можно узнать структуру баз на сервере Oracle?
Такой вопрос: как можно узнать структуру баз на Ораклавском сервере. Неожиданно понадобилось,...

Построить классы, которые позволяют сохранять иерархическую структуру университета
Построить классы, которые позволяют сохранять иерархическую структуру университета (университет,...

Контейнер, содержащий папки (иерархическую структуру)
Собственно вопрос как это сделать? с файлами все просто через сериализацию и форматер, а вот как...

9
0 / 0 / 0
Регистрация: 07.12.2008
Сообщений: 43
09.12.2008, 12:39 2
Например:
Oracle 11 SQL
1
2
3
4
5
6
7
CREATE TABLE ht (
  ID         NUMBER NOT NULL
    CONSTRAINT pk_ht PRIMARY KEY ,
  Parent_ID  
    CONSTRAINT fk_ht REFERENCES HT (ID) ON DELETE CASCADE,
  ......
);
Потом можно выбирать поддерево запросом типа
Oracle 11 SQL
1
2
SELECT ID FROM ht 
START WITH ID = &value_in CONNECT BY PRIOR ID = Parent_ID
0
0 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 596
09.12.2008, 13:38 3
WITH ?
0
0 / 0 / 0
Регистрация: 07.12.2008
Сообщений: 43
09.12.2008, 16:04 4
WITH
0
0 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 596
09.12.2008, 17:36 5
Неее, я не этo имел в виду...

WITH с временным видoм, кaк в DB2 врoде и в Oracle9i дoлжен рaбoтaть. Oн врoде-бы стaндaтризирoвaн и перенoсим.
0
0 / 0 / 0
Регистрация: 07.12.2008
Сообщений: 43
10.12.2008, 15:32 6
насчет стандартизации точно скзаать не могу, но в оракле работает. уж начиная с восьмого точно )) в седьмом уж не помню как было
0
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
25.06.2009, 17:30 7
в таблице ht 2 строчки
Код
id, parent_id
-------------
1,null
8,1
вопрос:
почему для представленного примера следующий запрос:

Код
SELECT ID, Parent_ID, LEVEL FROM ht
CONNECT BY PRIOR ID = Parent_ID
выдает:

Код
        ID  PARENT_ID      LEVEL
---------- ---------- ----------
         8          1          1
         1                     1
         8          1          2

3 строк выбрано.
а когда
Код
start with id = 1
то 'все в порядке':
Код
        ID  PARENT_ID      LEVEL
---------- ---------- ----------
         1                     1
         8          1          2
0
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
25.06.2009, 18:18 8
получается что построить дерево одним select-ом нельзя?

сначала надо
Код
select id from ht where parent_id is null
а затем для <каждого id>

Код
select id, parent_id from ht
start with id = <каждый id>
connect by prior id = parent_id
0
TSergey
28.06.2009, 10:18 9
2zbin Дата: 18.04.2003 17:41
>получается что построить дерево одним select-ом нельзя?
А если так
Oracle 11 SQL
1
2
3
SELECT id, parent_id FROM ht
START WITH id IS NULL
CONNECT BY PRIOR id = parent_id
Но надо помнить, что 'деревянные' запросы - штука довольно дорогая по затратам сервера, и на практике лучше строить дерево по конкретной ветке, как ты и писал. Иначе можно долго ждать ответа.
0 / 0 / 0
Регистрация: 25.06.2009
Сообщений: 3
30.06.2009, 17:40 10


> TSergey Дата: 21.04.2003 09:41
>получается что построить дерево одним select-ом нельзя?
А если так
0
30.06.2009, 17:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2009, 17:40
Помогаю со студенческими работами здесь

Как отобразить структуру (иерархическую) файлов в JSP?
С JSP только ещё разбираться начал и вот стала задача отобразить иерархичскую структуру файлов на...

Как создать иерархическую XML структуру в treeview
Есть treeView куда я добавляю раздел из TextBox и соотвественно подразделы из ListBox. Причем...

Построить структуру данных
Построить структуру данных, описанную на рисунке и реализовать процедуру чтения данных в указанном...

Как и с помощью чего по имеющимся данным построить иерархическую блок схему?
Как и с помощью чего по имеющимся данным построить иерархическую блок схему (прямоугольнички и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru