[MySQL] Циклическая выборка из базы данных

PHPCod3r

Знаток
Регистрация
7 Июн 2010
Сообщения
257
Реакции
25
Вообщем встала такая проблема, даже точно не знаю как лучше ее реализовать, нужно в базе данных сделать следующие,
 
Если я правильно понял задачу, это можно органиовать так:
создаем таблицу table с полями variable и parent
в parent будем хранить значение родителя

parent varaible

D
D D_01
D D_02
D D_03
D_01 D_11
D_01 D_12
D_01 D_13

в таком случае, если нужны записи без родителей - выбираем строки с parent = NULL
если записи без потомков - "SELECT variable FROM `table` WHERE variable not in (SELECT parent FROM `table`)"
 
Для просмотра ссылки Войди или Зарегистрируйся
Ты тут не только простым запросом не обойдешся, а, если у тебя там реально много информации, можеш тупо просто на этом примере начать писать алгоритмы таких рассчетов эффективные, которые у тебя как минимум Дуров и Усманов выкупят без вопросов, а потом Волож, Цукинберг и Брин с Пейджем добежать успеют с кучей бабок чтоб выкупить у тебя эти технологии.
Это просто так тебе, чтоб ты представлял себе масштаб твоего вопроса. По ссылке выше задачка, которая по сравнению с твоей вообще тривиальней некуда.
 
Для просмотра ссылки Войди или Зарегистрируйся
Ты тут не только простым запросом не обойдешся, а, если у тебя там реально много информации, можеш тупо просто на этом примере начать писать алгоритмы таких рассчетов эффективные, которые у тебя как минимум Дуров и Усманов выкупят без вопросов, а потом Волож, Цукинберг и Брин с Пейджем добежать успеют с кучей бабок чтоб выкупить у тебя эти технологии.
Это просто так тебе, чтоб ты представлял себе масштаб твоего вопроса. По ссылке выше задачка, которая по сравнению с твоей вообще тривиальней некуда.

Да, вы правы, что суть этого алгоритма, грамотный обход дерева, единствено, что деревья у меня не очень большие поэтому, основной вопрос, это то как их лучше держать в БД
 
Не уверен, что правильно понял, но попробуйте это:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

О большое спасибо, вот еще нашел на эту тему не плохую статью
Для просмотра ссылки Войди или Зарегистрируйся
Теперь хоть знаю в какую сторону рыть )
 
PHPCod3r, хотел я скинуть эту статью тоже, но потерял в глубинах закладок... Это один из лучших способов организации деревьев, т.к. отпадает необходимость кэширования и зная 1 элемент можно получить доступ ко всем его родителям/детям... Но, увы и ах, требует 2 запроса к базе на каждый элемент. С деревьями вообще сложно сделать с 1 запросом...

Ну а вообще, если меняется это дерево редко - можно хранить структуру в кэше и обновлять кэш при изменении чего-либо или если он побился...
 
Назад
Сверху