Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
5 / 4 / 0
Регистрация: 18.09.2011
Сообщений: 71
1

Древовидная структура

13.04.2017, 14:06. Показов 1425. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть задача в одной области окна отобразить структуру в виде дерева. А в другой - содержимое выбираемых элементов. Короче по типу проводника. Но есть задумка, чтоб при выборе какого-либо элемента дерева, отображались не только принадлежащие ему документы, а еще и документы всех его дочерних элементов.
На данный момент есть таблица структуры и таблица документов. У "структуры" поле parent для ссылки на родителя, у "документов" ссылка на "структурный элемент".
Что-то в голову не приходит каким лучше способом такое реализовать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2017, 14:06
Ответы с готовыми решениями:

Структура таблицы для ввода номенклатуры в БД Аксесс 2003+ структура изделия
Доброго времени суток форумчане! Продолжаю писать свою самоделку, возник вопрос: Номенклатуру в...

Древовидная структура папок
Здравствуйте, подскажите, как спроектировать таблицы в базе, что бы была возможность создавать...

Древовидная структура данных при выборке
Доброго времени суток. Нужно выбрать данные из одной таблицы в виде дерева. В таблице у каждой...

Древовидная структура данных
Доброго времени суток! Помогите пожалуйста спроектировать древовидную структуру данных на основе...

16
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
13.04.2017, 14:25 2
какая бд?
0
5 / 4 / 0
Регистрация: 18.09.2011
Сообщений: 71
13.04.2017, 14:41  [ТС] 3
реляционная
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
13.04.2017, 15:06 4
т.е. вопрос чисто теоретический? Тогда и ответ такой же: выбирайте документы из множества "структурных элементов"
0
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
13.04.2017, 15:12 5
Цитата Сообщение от YuryK Посмотреть сообщение
какая бд?
пора перестать смешивать понятия БД и СУБД
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
13.04.2017, 15:24 6
я как и ТС экономлю символы - клавиатура не казенная

Добавлено через 9 минут
Supported Database
Cache
DB2
Derby
Firebird
FrontBase
H2
HSQLDB
Informix
Ingres
JDatastore
MaxDB
Mckoi
Mimer
MySQL
Oracle
PointBase
PostgresSQL
Solid
SQLite
SQL Server
SQL Anywhere
Sybase (ASE)
Надо будет мужикам написать, что нифига это не Database
0
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
13.04.2017, 15:55 7
Цитата Сообщение от YuryK Посмотреть сообщение
Надо будет мужикам написать, что нифига это не Database
давай, пиши. Поржем вместе. А уж если осилил Database то выучи еще и RDBMS. Так, для понту
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
13.04.2017, 16:06 8
Цитата Сообщение от pincet Посмотреть сообщение
то выучи еще и RDBMS
с транскрипцией пожалуйста, если не сложно
0
5 / 4 / 0
Регистрация: 18.09.2011
Сообщений: 71
14.04.2017, 06:23  [ТС] 9
Цитата Сообщение от YuryK Посмотреть сообщение
т.е. вопрос чисто теоретический? Тогда и ответ такой же: выбирайте документы из множества "структурных элементов"
спасибо.
0
5 / 4 / 0
Регистрация: 18.09.2011
Сообщений: 71
17.04.2017, 14:21  [ТС] 10
У меня какой-то затуп. У кого есть опыт такой реализации, подскажите пожалуйста как такой запрос сделать?
0
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
17.04.2017, 14:27 11
чукча не читатель, чукча писатель? У тебя сразу спросили про сервер данных, ибо реализация будет сильно зависеть
0
5 / 4 / 0
Регистрация: 18.09.2011
Сообщений: 71
17.04.2017, 14:32  [ТС] 12
Цитата Сообщение от pincet Посмотреть сообщение
чукча не читатель, чукча писатель? У тебя сразу спросили про сервер данных, ибо реализация будет сильно зависеть
SQLite, MS SQL. В данный момент Лайт
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
17.04.2017, 14:35 13
вряд ля мой опыт в MS SQL поможет в любой реляционной БД Я бы сделал так
SQL
1
SELECT * FROM Documents WHERE STRUCTURE = :Id OR STRUCTURE IN (SELECT * FROM ChildSructures(:Id))
, где функция ChildSructures возвращает в виде набора данных список всех дочерних элементов
1
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
17.04.2017, 14:39 14
для MS SQL единственная возможность пользовать рекурсию - with
T-SQL
1
2
3
4
5
6
7
8
9
10
11
declare @id in
select @id=5
;with cte(id,parentid,value) as
(
select id,parentid,value 
from MyTable where id=@id -- инвариант
union all
select t.id,t.parentid,t.value 
from MyTable t join cte c on t.parentid=c.id
)
select id,parentid,value from cte
1
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
17.04.2017, 14:43 15
Цитата Сообщение от pincet Посмотреть сообщение
для MS SQL единственная возможность пользовать рекурсию - with
есть ещё цикл, который позволит тоже пройти рекурсивно по дереву.

А вот в Lite, похоже, нет ничего
0
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
17.04.2017, 14:45 16
Цитата Сообщение от YuryK Посмотреть сообщение
есть ещё цикл, который позволит тоже пройти рекурсивно по дереву.
какие-такие циклы в реляционных базах? Последнее, что нужно пользовать
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
17.04.2017, 14:50 17
когда мы начали работать на MS SQL у них CTE и в помине не было, но были древовидные структуры
0
17.04.2017, 14:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2017, 14:50
Помогаю со студенческими работами здесь

Древовидная структура
В листьях дерева, соответствующего некоторой конструкции, указаны минимально возможные значения...

Древовидная структура в таблице
Есть некие ирерархические данные. В сторонней программе, которые считываю. К примеру Каждый...

Древовидная структура в Табличный вид
Ни как не могу решить следующую задачу. В базе имеется следующая таблица categories с полями id,...

Ehlib 3.6. древовидная структура DBGridEh
Вторые сутки не могу в DBGridEh отобразить древовидную структуру данных. Допустим две таблицы:...


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

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