
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.04.2006, 23:52
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
Необходимо в базу данных вбить "деревья" вопросов, причем в каждом "дереве" разное количество уровней (количество "развилок" максимум 3, в большинстве случаев 2). Например: Уровень №1: "1, 2 или 3?" Уровень №2: "Если 1, то 1, 2 или 3?" "Если 2, то 1, 2 или 3?" "Если 3, то 1, 2 или 3?" Уровень №3: "Если 1-1, то 1, 2 или 3?" "Если 1-2, то 1, 2 или 3?"... "Если 3-3, то 1, 2 или 3?" и т.д. Максимальное количество уровней в пределах 5-10... Как это можно реализовать? Таблица с 10-ю строками, в каждой из которых будет список из вопросов (в формате 1-1-3-2 (в первом уровне 1 вопрос, потом опять 1, потом 3, потом 2))? Или 10 таблиц? Но ведь такие "деревья" надо делать для каждой ячейки в самой первой БД (которая и пораждает вопросы)... :( Буду благодарен за любую помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2006, 00:27
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
читай про нестед сетс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2006, 09:23
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
JackSчитай про нестед сетс а ссылочку не кинете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.04.2006, 22:04
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
Спасибо за ссылку! Алгоритм "Nested Sets" для моей задачи наверное будет лишним (т.к. вывод вопросов будет только 1 раз и строго по иерархии (вопрос 1 уровня - 2 уровня -3...) - никакого поиска/удаления/вставки веток не будет), а вот алгоритм из вступительной статьи по деревьям подходит в самый раз! Правда я никогда не работал с MySQL и поэтому не понял следующей функции вставки: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.04.2006, 00:58
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
вообще то это не SQL а PHP + SQL запрос СКЛ запрос прост до безобразия и думаю мало чем отличается для любой из баз (int)$parent_id означает что $parent_id приведён к инту $level[1][0] стал интом таким же образом как и $level[2][0] гляди на то что функция возвращает ... там даже коммент написан ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.04.2006, 01:01
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
а нестед сетс самое оно для тебя ... простые выборки достаточно простая структура ... что ещё надо то ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.04.2006, 09:32
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
JackS(int)$parent_id означает что $parent_id приведён к инту :) как это работает я понял, не понял, что за структура такая $level[х][х] и почему она выглядит как переменная? Ну допустим это два обычных числа и они с помощью (int)$parent_id приводятся к одному числу... Но тогда как это сделать в firebird (InterBase)? С помощью какой "функции"? Чувствую, что просто, но допетрить не могу :/ JackSа нестед сетс самое оно для тебя ... простые выборки достаточно простая структура ... что ещё надо то ? :) Ну в принципе может и Нестед Сетс, но я пока не вижу преимуществ, которые я бы смог использовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.04.2006, 10:14
|
|||
|---|---|---|---|
Графы? "Деревья" вопросов в БД |
|||
|
#18+
Мальчишка JackS(int)$parent_id означает что $parent_id приведён к инту :) как это работает я понял, не понял, что за структура такая $level[х][х] и почему она выглядит как переменная? Ну допустим это два обычных числа и они с помощью (int)$parent_id приводятся к одному числу... Но тогда как это сделать в firebird (InterBase)? С помощью какой "функции"? Чувствую, что просто, но допетрить не могу :/ JackSа нестед сетс самое оно для тебя ... простые выборки достаточно простая структура ... что ещё надо то ? :) Ну в принципе может и Нестед Сетс, но я пока не вижу преимуществ, которые я бы смог использовать... эта странная структура называется хэшем, тобишь ассоциативным массивом :) знаете лучший способ организации дерево средствами языка программирования ? если нет то вот и ответ почему именно так :) firebird (InterBase) в глаза никогда не видел :) ну раз не видно приемуществ то более ни чем помочь не в состоянии ююю сщвет дан а как им пользоваться - дело третье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1545313]: |
0ms |
get settings: |
8ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 548ms |

| 0 / 0 |
