SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.01.2010 15:17:38

Pasha
Участник
Зарегистрирован: 10.11.2009
Сообщений: 11

Древовидная структура MySQL

Есть такая задача:
- создать БД для страниц сайта
- Каждая из страниц может удаляться, перемещаться (любая страница может быть родителем) вверх/вниз по дереву + в своем родителе
- могут добавляться новые странички
- самый частый запрос типа существует ли такая страница как http://domen.ru/page1/page2/page3/page4 и т.п.
- Количество страниц и вложенность неограничены

Что тут посоветуете?

п.с. Думаю над Nested Sets, и ещё где-то видел способ когда в базе хранятся ссылки "page1/page2/page3/page4"

Неактивен

 

#2 13.01.2010 15:29:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Древовидная структура MySQL

Если критичным является лишь запись url через несколько слешей, то совершенно
необязательно делать дерево вообще. С другой стороны, никто не мешает хранить
одну чиселку «родителя» вместе с документом и проверять по ней дочерние документы.

Способ без деревьев может оказаться несколько хуже в плане ответа на вопрос
«а сколько детей у этого документа» и прийдется делать денормализационную табличку,
чтобы на такие вопросы отвечать. С другой стороны, начиная с некоторого объема
данных, денормализационную табличку прийдется делать и в первом случае.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson