powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория баз данных. Древовидные данные. Новый подход...
16 сообщений из 16, страница 1 из 1
Теория баз данных. Древовидные данные. Новый подход...
    #35105536
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго Вам времени суток.

Недавно вспоминал задачу по выборке всего дерева. Мне в голову пришел дост. простой способ, как выбрать все дерево одним лишь sql запросом... Но перед тем как сказать очередную глупость, я бы хотел почитать что-то по теории или практики древовидных структур. Чтоб, возможно, лишний раз не изобретать велосипед и не вставать на те же грабли.

За разные ссылки, мысли, буду оч. благодарен.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35105549
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalkoЗа разные ссылки.

Гедымин (ссылка)
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35105635
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORACLE

Код: plaintext
SELECT ... START WITH ...  CONNECT BY ... PRIOR ... 
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35105710
Alexander Stoulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ищи статьи Joe Celko

http://www.intelligententerprise.com/001020/celko.jhtml
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35107080
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mcureenab
Ничего, пардон не понял. Если оно выбирает все дерево, то по какому алгоритму?
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35107081
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Alexander Stoulov

Как появится свободное время обязательно почитаю. Только я смотрю и вижу чудовищный SQL,
который будет просто "насиловать" базу заставляя выбирать всех чилдов(перебрать базу), потом каждого из выбранных еще детей и так далее...
ИМХО не оптимально как-то...
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35107844
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL (2005) теперь тоже умеет
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35108533
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalkoкак выбрать все дерево одним лишь sql запросом...
Не совсем понятно сформулирован вопрос, можете детализировать/конкретизировать?
(т.е., select * from MyTreeTable чем не ответ?)
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35110604
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35111123
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalkoНедавно вспоминал задачу по выборке всего дерева. Мне в голову пришел дост. простой способ, как выбрать все дерево одним лишь sql запросом... Задача "выбрать всё дерево одним запросом" непонятна. При работе с иерархиями совсем другие задачи.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35128083
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Bely
Прочитал. Не нашел ничего, что меня бы заинтересовало.

Простите, я немного не так выразился. Когда работаешь с деревом, то приходится выбирать родителя объекта, все дерево строить, выбирать детей, выбирать детей до определенного уровня, ограничивать кол-во уровней и кол-во детей.....

Все решения, которые я видел либо основывались на негибких данных (добавление столбцов, по одному для каждого дочернего элемента etc.) либо мучали базу данных рекурсиями. Чтоб выбрать более-менее большое дерево, понадобиться огромное кол-во запросов и нагрузка на базу, что не есть хорошо.

Также сама рекурсия не есть такая простая. Ее тоже надо как-то организовать....

Поэтому думал над другим, более гибким подходом, который бы одновременно вписывался в рел. модель. Если у кого есть какие-то материалы, то было бы очень мило еще почитать(:

PS. К сожалению, счас нет времени, но как только появится, обязательно разработаю идею и опишу все. Обязуюсь оставить тут ссылку.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35128234
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalko2 Bely

Поэтому думал над другим, более гибким подходом, который бы одновременно вписывался в рел. модель. Если у кого есть какие-то материалы, то было бы очень мило еще почитать(:



Физический формат хранения HierarchyId значений в SQL Server 2008 - если вы еще не чтали.

Вопросы, связанные с организацией иерархических структур - наверное - наиболее частые на этом форуме. (Полистайте - убедитесь). Для реализации, наконец, в МSSQL появится новый тип данных. Я уверен, что нет реализации стандарными средствами SQL удобной и эффективной рпботы с Tree. Не может быть.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35128418
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy eternalko2 Bely

Поэтому думал над другим, более гибким подходом, который бы одновременно вписывался в рел. модель. Если у кого есть какие-то материалы, то было бы очень мило еще почитать(:



Физический формат хранения HierarchyId значений в SQL Server 2008 - если вы еще не чтали.

Вопросы, связанные с организацией иерархических структур - наверное - наиболее частые на этом форуме. (Полистайте - убедитесь). Для реализации, наконец, в МSSQL появится новый тип данных. Я уверен, что нет реализации стандарными средствами SQL удобной и эффективной рпботы с Tree. Не может быть.
Ну... пока нет времени это все как следует проверить и описать. Но теор. концепция довольно удобна в использовании. Обязательно прочитаю.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35128579
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalko2 mcureenab
Ничего, пардон не понял. Если оно выбирает все дерево, то по какому алгоритму?


СУБД ОРАКЛ автоматически выбирает наиболее эффективный (с её точки зрения) план выполнения иерархического запроса. Если не вдаваться в подробности, СУБД выбирает все записи удовлетворяющие условию в секции START WITH, затем для каждой полученной записи верхнего уровня иерархии рекурсивно выбирает подчинённые записи следующих уровней, которые отвечают условию в секции CONNECT BY. Записи возвращаются упорядоченными, и чтобы отличить потомков от братьев используется псевдоколонка LEVEL.

Фактически вместо рекурсии может применяться особого рода сортировка записей, что существенно эффективнее.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35131245
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalkoДоброго Вам времени суток.

Недавно вспоминал задачу по выборке всего дерева. Мне в голову пришел дост. простой способ, как выбрать все дерево одним лишь sql запросом... Но перед тем как сказать очередную глупость, я бы хотел почитать что-то по теории или практики древовидных структур. Чтоб, возможно, лишний раз не изобретать велосипед и не вставать на те же грабли.

За разные ссылки, мысли, буду оч. благодарен.

в последней версии DB2 XML хранится в таблицах, динамически построенных согласно структуре дерево. То запросы и загрузка делается плоско-релятивно.
...
Рейтинг: 0 / 0
Теория баз данных. Древовидные данные. Новый подход...
    #35132106
FAndrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalkoМне в голову пришел дост. простой способ, как выбрать все дерево одним лишь sql запросом...
Все зависит от модели данных. Я всегда затягиваю все дерево одним простым запросом, отсортировав по иерерахии.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория баз данных. Древовидные данные. Новый подход...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]