ФорумПрограммированиеPHP для идиотов → Материализованный путь (деревья)

Материализованный путь (деревья)

  • imlil

    Сообщения: 50 Репутация: N Группа: Адекваты

    Spritz 29 марта 2011 г. 9:14, спустя 1 минуту 10 секунд

    NS,AL с ними все ясно в принципе.

    Насчет MP,я нашел очень мало доков по нему. Поэтому прошу помощи у вас.

    Как извлекать отсортированную таблицу собственно? Ясно,что по одному path отсортировать на уровне БД (Mysql) в правильном порядке нельзя. Нужно использовать доп. поле? Например,position. Но int(x) тоже не даст нужного результата,придется изменять позиции всего нижнего дерева при изменении структуры.

    Я из лесу или я правильно понял все?


    Я кажется не туда ее запостил,извиняйте.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 29 марта 2011 г. 8:52, спустя 23 часа 38 минут 16 секунд

    Не материальный, а материализованный путь :)
    Х/ знает что ты имел в виду под "по одному path отсортировать на уровне БД (Mysql) в правильном порядке нельзя. " – это почему нельзя? Материализованный путь хорош тем, что его иерархия и порядок сортировки задаются естественным способом как нумерация списка - полем path.

    Можно извлекать как

    WHERE path like 'my.path.to.%'
    ORDER BY path
    ιιlllιlllι унц-унц
  • imlil

    Сообщения: 50 Репутация: N Группа: Адекваты

    Spritz 29 марта 2011 г. 9:13, спустя 20 минут 34 секунды

    да,материализованный,не до этого было.

    Да оно прекрасно…но как тогда вставлять данные то?  Т.е мп подразумевает то что данные будут вставлятся исключительно в "правильном порядке" и подобное недопустимо?

    .
    1.
     1.2.
     1.2.
     1.2.
    1.
    1.
    1.
     1.2 (моветон?)
    1.
    1.


    Ведь такую структуру он не отсортирует. Получается что МП без допиливания используется искл. для узких целей. Хранение деревья каментов?!

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 29 марта 2011 г. 9:37, спустя 24 минуты 3 секунды

    да, это не лечится. путь должен уникально указывать на узел. тут кажется проблемы с пониманием задачи, а не с алгоритмом.
    ιιlllιlllι унц-унц
  • imlil

    Сообщения: 50 Репутация: N Группа: Адекваты

    Spritz 29 марта 2011 г. 10:03, спустя 26 минут 19 секунд

    Да не,я просто изучал все типы хранения иерархических структур=)

    Спасибо.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 21 октября 2012 г. 5:54, спустя 571 день 19 часов 50 минут

    Если данные часто меняются, лучше оставаться с adjacency list. Другие способы слишком накладны на вставках/изменениях.
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 21 октября 2012 г. 9:23, спустя 3 часа 29 минут 18 секунд

    Чувак, инструмент должен подбираться к задаче! Опытный человек отличается от школоты тем, что спинным мозгом чует где чего использовать.
    В реальной жизни всё конкретно.: есть два больших класса задач: OLTP и OLAP. Упрощенно в первой идет постоянное накопление, а во второй идут постоянные раскопки данных, а закачиваются они туда только время от времени по специальной команде. Угадай где какой метод иерархии применим.
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!