powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура сайта
2 сообщений из 2, страница 1 из 1
Структура сайта
    #36996299
Sliding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.

У меня следующая проблема.

Есть сайт, структура разделов и подразделов реализована через folderID + parentFolderID, что позволяет делать структуру любой вложенности.

Есть отлаженный механизм создания, изменения и удаления разделов.

К каждому разделу могут быть прикреплены фотографии, товары, документы через указание folderID к которому они принадлежат.

Недавно, из-за создания на базе движка более крупного сайта (более 200 разделов всего и до четвертого уровня вложенности) появилась задача реализовать хлебные крошки, которая была решена последовательным извлечением информации из записей разделов, пока parentID не равно 0. Потом список папок кэшируется и всем счастье. (т.е. на каждый уровень вложенности, количество запросов к базе данных увеличивается на один запрос, что, на сколько я понимаю, для производительности не очень критично при гипотетическом максимальном уровне вложенности в 7-8 уровней с учетом кэширования данных ).

И у меня появился вопрос, на который я не могу найти ответ. Как с помощью системы folderID + parentFolderID вывести все подразделы, если мне, к примеру, нужно вывести (условно) список всех телевизоров, если они, в свою очередь, находятся в разделах "Sony" и "Samsung" и т.п.

Или же, вывести последние 10 (по дате добавления) фотографий раздела галерея, если в этом разделе фотографии достаточно сильно разбросаны по большому количеству подразделов.

Я уже начинаю смотреть в сторону Nested Sets, но очень мне не нравится количество накладных расходов ДАЖЕ на изменение порядка следования подразделов одного раздела. Сейчас подразделы одного раздела упорядочиваются через цифровое поле Iportance, чем выше значение - тем выше в выдаче.

Стоит ли мне смотреть в сторону Nested Sets? Я изучил раздел FAQ и попробовал сделать тестовый рабочий вариант. Субъективно, мне очень он понравился, хотя сложностей много и процесс изменения структуры сайта стал более "тяжелым".

Так же, появилась необходимость делать дополнительные запросы к БД, для того, что бы по айдишнику узнавать левый и правый ключ, т.к. извлечение информации о конкретном разделе идет по ID, а любые другие выводы списка папок идут по левому и правому ключам, может быть я чего-то не учитываю, т.к. знания мои в языке запросов не идеальны.

Заранее спасибо.
...
Рейтинг: 0 / 0
Структура сайта
    #36996328
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть
http://www.osp.ru/pcworld/2007/03/4199032/
http://www.sql.ru/articles/mssql/2005/061904TreesInSQLdatabases.shtml
уже изучено, и метод Nested Sets выбран.
Любой метод имеет свои достоинства и недостатки (то что хорошо читает обычно плохо пишет и наоборот) в рамках любого метода ДОЛЖНЫ быть ответы на ваши вопросы или вы плохо читали.
Какой метод лучше вам никто не скажет это определяется нагрузкой на вашу базу.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]