Рекурсивное дерево

Тема в разделе "Базы Данных", создана пользователем saxum2010, 13 фев 2013.

  1. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    Доброго времени суток. Господа подскажите алгоритм для построения дерева в MySQL

    Требования к дереву:
    • MySQL
    • нужно не более 4 уровня вложенности
    • нужно быстрое построение иерархии
    • нужно чтобы легко было найти всех потомков
    • нужно чтобы легко было найти всех родителей

    Заранее благодарю за ваши ответы
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
  3. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    Интересный вариант, но как я понял при изменении ветки предется изменять ключи для всего родительского ряда, а для 4 уровня вложенности это будет весьма долгая процедура
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    saxum2010 нравится это.
  5. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    Спасибо ознакомлюсь,
    $iD, а Вы Nested Sets на практике юзали?
     
  6. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    да, делал недавно жалкое подобие интернет-магазина)
     
    saxum2010 нравится это.
  7. Xrymz

    Xrymz

    Регистрация:
    10 янв 2013
    Сообщения:
    6
    Симпатии:
    2
    вы тут неправы, как раз nested sets были придуманы для того чтобы избежать рекурсивных запросов субд и облегчить ее работу, любые операции по изменению id или родителя или еще чего обычно выполняется 1 - 2 запросами, что очень сильно облегчает работу базы.