Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Такая вот проблема. Есть таблица в ней хранятся списки в виде деревьев. Добавляется еще одно дерево и вот надо определить существует ли уже в этой таблице такое же дерево? Можно ли это сделать одним запросом? Или обязательно надо строить временные таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 08:35 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Дерево однозначно идентифицируется по корню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 08:56 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005надо определить существует ли уже в этой таблице такое же дерево? А можно услышать трактовку понятия "такое же дерево"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 09:08 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
автор Murat2005 надо определить существует ли уже в этой таблице такое же дерево? А можно услышать трактовку понятия "такое же дерево"? Наверное я не правильно сформулировал. Допустим есть такая структра Узел1 (корень) | Узел 2.1 Узел 3.1 узел 4.1 Это одинь путь. Второй Узел1 (корень) Узел 2.2 Узел 3.2 Узел 4.2 И для наглядности третий Узел 1 (корень) Узел Узел 2.2 Узел 3.2 Узел 4.3 И т.д. множество вариантов Допутим вставляем следующую структуру Узел 1 Узел 2.2 Узел 3.3 Узел 4.3 Вот и надо узнать есть ли уже подобная структура в таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 09:16 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
автор Murat2005 надо определить существует ли уже в этой таблице такое же дерево? А можно услышать трактовку понятия "такое же дерево"? Наверное я не правильно сформулировал. Допустим есть такая структра Узел1 (корень) | Узел 2.1 | Узел 3.1 | узел 4.1 Это одна структура. Второй Узел1 (корень) | Узел 2.2 | Узел 3.2 | Узел 4.2 И для наглядности третья Узел 1 (корень) | Узел Узел 2.2 | Узел 3.2 | Узел 4.3 И т.д. множество вариантов Допутим вставляем следующую структуру Узел 1 | Узел 2.2 | Узел 3.3 | Узел 4.3 Вот и надо узнать есть ли уже подобная структура в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 09:17 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Что-то не то Вы говорите. Покажите несколько записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 09:43 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005Допустим есть такая структра Т.е, как я понял, надо проверять сочетание подузлов по структуре и количеству вхождения на уникальность? Можно конечно, почему нет. Но не одним запросом, а ручками и с гемороем неслабым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 10:01 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Нарисовал структуру (в файле). Допустим вставляем 1---> 2.2 ---> 3.4 то такая структура есть (помечена красным). Если вставляем 1--->2.2 ---> 3.1 то такой нет. Значит ее надо создать. Создать это ерунда. А как определить есть ли она с наименьшими затратами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 12:06 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Теперь как Вы это храните (структуру)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 12:14 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005Допустим вставляем 1---> 2.2 ---> 3.4 то такая структура есть (помечена красным). И сразу вопрос. С точки зрения теории точно такой структуры нет в приведенном рисунке. У имеющегося древа там еще один "листик" есть. Значит надо искать даже по части дерева? Нехилая задачка вырисовывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 12:14 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
автор Значит надо искать даже по части дерева? В том и дело. авторТеперь как Вы это храните (структуру)? Храним пока не как. Разрабатываем как это хранить и как доставать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 13:40 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
И деревьев (т.е. корней) много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 13:46 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005В том и дело. А это правильно? Занеся в БД Запорожец с прицепом нельзя внести просто Запорожец? Странно как-то. А наоборот можно? Сначала Запор, потом Запор с прицепом. Как вариант можно попробовать делать так. Выводить коды из веток дерева в строку и искать по подстроке. PS:Какая предметная область задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 13:51 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Структура. Номер дерева Уровень Подуровень Атрибуты Поиск (Номер дерева + Уровень + Подуровень) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 13:57 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовСтруктура. Номер дерева Уровень Подуровень Атрибуты Поиск (Номер дерева + Уровень + Подуровень) А если подуровней 3 и более? ИМХО универсальнее классическое решение ID Parent_ID -ссылка на родителя Всяко_разно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 14:05 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду, что дерево идентифицируется номером. Уровень может быть любой.(родитель) Он же не весь путь вставляет, а последний новый лист. 1 1 2 1 2 3 1 3 4 .... 2 1 1 2 2 1 2 2 2 2 2 3 2 3 1 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 14:31 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовЯ имел ввиду, что дерево идентифицируется номером. Можно и так. Есть отход от нормализации, но при повышении производительности. Я тоже так делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 14:44 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Нормализация для начинающих концептуалистов или только для выборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 15:03 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Серега Murat2005В том и дело. А это правильно? Занеся в БД Запорожец с прицепом нельзя внести просто Запорожец? Странно как-то. А наоборот можно? Сначала Запор, потом Запор с прицепом. Как вариант можно попробовать делать так. Выводить коды из веток дерева в строку и искать по подстроке. Можно и запор отдельно без прицепа только это уже другая структура. Я вот как думаю это сделать. Создать отдельные таблицы для каждего уровня что то похожее на это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 15:06 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005Я вот как думаю это сделать. А если уровней станет больше? Штук 15-20? А если потребуется ввести 3 записи на 2 уровне и 5 записей на 3 уровне? Или такое в принципе невозможно? Что будет в NAME полях? Такие же цифры или произвольный текст (там у тебя по 250 символов)? Это ж надо уникальность поддерживать для уровня. Да и сравнивать по наименованию как то не того, ИМХО. ЗЫ: что все таки за предметная облать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 15:27 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Это не дерево, а декоративный кустик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 15:40 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Серега Murat2005 ЗЫ: что все таки за предметная облать? Путь пользователя по страницам сайта. Где зашел. Как пошел и где вышел. name - названия страниц. По поводу уровней сделать 100 :) всеравно нижние уровни в размерах почти не будут расти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 15:43 |
|
||
|
Поиск аналогичного дерева
|
|||
|---|---|---|---|
|
#18+
Murat2005Путь пользователя по страницам сайта. Где зашел. Как пошел и где вышел. Я в этом деле не понимаю, но задача странная какая то, ИМХО. Т.е. пишется только при выходе? И только уникальный путь? А смысл в этом какой? Не лучше ли просто в лог последовательно писать? Murat2005По поводу уровней сделать 100 :) всеравно нижние уровни в размерах почти не будут расти. Ну сделай. И запрос динамически создай. Кто мешает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 16:33 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33038482&tid=1545919]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 404ms |

| 0 / 0 |
