[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Квантовая физика
Воитель
Вот такое красивое и кажется невтемное название я дал этой теме.

Любой файл, любая папка лежит всегда только в одном месте.
Т.е. всё имеет только 1 родителя.
По этому у меня есть везде столбец "Родительская папка"

Но вот я встретил такую необходимость как разместить товар сразу в двух папках.

Согласно современной квантовой физике, квант может находиться сразу в двух местах при условии что над ним не ведётся наблюдение.

Это было не большое лирическое отступление.
Ну теперь к делу:
Я решил сделать ещё одну кнопочку "Добавить фантом товара", рядом с кнопкой "Добавить товар"

При создании фантома, просто указывается товар на основе которого нужно сделать фантом.
При изменении одного из группы фантомов, изменения вступают в силу и в остальных.

Но я так и не придумал как решить пару вопросов.
1)ЧПУ по идеи у каждого фантома должно быть своё ЧПУ так как они лежат в разных папках. Но поисковики не одобрят практически одинаковые страницы на сайте. Но даже если у них приравнять URL, то появляется другая проблема.

2)Допустим человек сохранил ссылку, и напрямую на неё заходит. В какой он сейчас папке? Получается что на группу фантомов нужно указывать доминанта. Чтобы хоть какую-то иметь родительскую папку.

В общем не всё у меня скрадывается даже на псевдокоде.

Кто-нибудь делал подобную схему? Как организовали её?



Спустя 3 минуты, 57 секунд (1.02.2012 - 15:08) alexbel2404 написал(а):
а зачем плодить товар? просто заносишь его в несколько категорий. А чтоб пользователь узнал где находится, выводить весь список категорий, в которых товар лежит.

Спустя 11 минут, 59 секунд (1.02.2012 - 15:20) neadekvat написал(а):
Воитель, не очень то люблю физику - основана на домыслах, на вопрос "Но почему так, а не так?" мало кто может ответить из преподавателей.

Так вот, то, что вы сделали, называется иерархическая модель базы данных. И она вам явно не подходит. Используйте реляционную.
Я убираю понятие "папки", потому что не представляю, как им оперировать в контексте данной задачи.
Переход к реляционной модели осуществляется следующим образом: у товара исчезает столбец, содержащий родительский идентификатор. Но при этом появляется еще одна таблица (не столбец, а целая таблица), в которой будет хранится отношение товаров и родителей в отношении многие-ко-многим.
Т.е., грубо говоря, будет три столбца: идентификатор строки (первичный ключ, можно его опустить, сделав первычным два других), идентификатор товара, идентификатор родителя.
Если у товара два родителя - в таблице появялется две записи.

Спустя 1 час, 59 минут, 19 секунд (1.02.2012 - 17:19) Воитель написал(а):
Цитата (neadekvat @ 1.02.2012 - 17:20)
Воитель, не очень то люблю физику - основана на домыслах, на вопрос "Но почему так, а не так?" мало кто может ответить из преподавателей.

Так вот, то, что вы сделали, называется иерархическая модель базы данных. И она вам явно не подходит. Используйте реляционную.
Я убираю понятие "папки", потому что не представляю, как им оперировать в контексте данной задачи.
Переход к реляционной модели осуществляется следующим образом: у товара исчезает столбец, содержащий родительский идентификатор. Но при этом появляется еще одна таблица (не столбец, а целая таблица), в которой будет хранится отношение товаров и родителей в отношении многие-ко-многим.
Т.е., грубо говоря, будет три столбца: идентификатор строки (первичный ключ, можно его опустить, сделав первычным два других), идентификатор товара, идентификатор родителя.
Если у товара два родителя - в таблице появялется две записи.

Я конечно думал над этим вариантом. Но тогда из-за пары случаев, когда товар сразу в двух категориях, надо работать с ещё одной таблицей. Нагрузка сильно возрастёт.
Вариант избежать этого. Это сделать ещё один столбец с первой таблице, в котором будет хранить булево: товар храниться в нескольких категориях или нет.

Но тогда остаётся вопрос навигации на сайте. Сейчас она организована прям так:
Папка 1 >> Папка 2 >> Папка 3 >> Товар
Примерно так как это сделано в современном виндовсе. Мне кажется это очень удобным.

А если товар сразу в нескольких категориях как это визуально показать?

Спустя 14 минут, 19 секунд (1.02.2012 - 17:33) Воитель написал(а):
Сейчас решил обратить внимание на такого гиганта как ebay.com
У него весьма смешанная навигация, По категориям перемещаться можно через меню, попав на страницу товара навигация переходит ранее описанную мною форму. Но думаю как основа на эбэе это просто поиск. Я бы не сказал что на ебэе всё очень понятно с первого взора, в некоторый момент можно запутаться. Например переход с категорию на категорию весьма затруднён. Хотя если быть более рассудительным, ебэй явно в навигации смыслит больше чем я. Скиньте ссылок различных интернет магазинов, где по вашему навигация хорошо организована.

Спустя 7 минут, 33 секунды (1.02.2012 - 17:41) neadekvat написал(а):
Цитата (Воитель @ 1.02.2012 - 18:19)
Но тогда из-за пары случаев, когда товар сразу в двух категориях, надо работать с ещё одной таблицей. Нагрузка сильно возрастёт.

Нагрузка возрастет не сильно - там почти вся таблица в индексе окажется. А вот "пара случаев" для программиста не может быть "парой случаев". То, что ты хочешь сделать - костыль. А у тебя уже есть примеры объектов, которые не укладываются в выбранную тобой архитектуру. Значит, архитектуру следует пересмотреть.

Цитата (Воитель @ 1.02.2012 - 18:19)

Примерно так как это сделано в современном виндовсе. Мне кажется это очень удобным.

Это и есть иерархическая система. Я еще раз говорю - она вам не подходит. Либо создавайте "ярлык" - но это уже глупости, откровенно говоря.

Если продукт находится в двух категоряих, то (по идее) он будет доступен по двум адресам:
main > cat 1 > pro 1 и main > cat 2 > pro 1
А на странице продукта придется указывать, что пренадлежит к этой и к той категории.

Спустя 1 минута, 32 секунды (1.02.2012 - 17:42) neadekvat написал(а):
Цитата (Воитель @ 1.02.2012 - 18:33)
Скиньте ссылок различных интернет магазинов, где по вашему навигация хорошо организована.

Я не пользуюсь интернет-магазинами, но предпочитаю иерархическую структуру хранение материала - мне так понятнее.
Будем объективны, понятно это по больше части людям с техническим складом ума. Простые смертные хотят как проще. Тут уже в дело должны вступать юзабилити-мастера.

Спустя 34 минуты, 42 секунды (1.02.2012 - 18:17) Воитель написал(а):
Я тоже сторонник иерархической системы и не хочу терять ряд её весомых преимуществ. Но задачу всё-таки как-то решить надо.

И главный вопрос как представить это всё визуально?

Спустя 53 минуты, 53 секунды (1.02.2012 - 19:11) neadekvat написал(а):
Цитата (Воитель @ 1.02.2012 - 19:17)
Я тоже сторонник иерархической системы и не хочу терять ряд её весомых преимуществ. Но задачу всё-таки как-то решить надо.

И главный вопрос как представить это всё визуально?

Давай я еще пару постов буду говорить о том, что надо переходить на реляционную модель.
Ты будешь это делать или останешься на иерархической? Если второе - дай знать, так и напиши, дескать, буду свои костыли придумывать, остаюсь на иерархической моделе. Я просто уйду и все.

Спустя 24 минуты, 24 секунды (1.02.2012 - 19:35) Воитель написал(а):
Можешь дать пример реляционной модели? Где я могу на неё посмотреть в живую.

Спустя 5 минут, 11 секунд (1.02.2012 - 19:40) neadekvat написал(а):
Примерно так:
user posted image

Спустя 18 минут, 27 секунд (1.02.2012 - 19:59) Воитель написал(а):
Я хочу увидеть сайт, где так продукция разложена. Реляционная система мне понятна и я её конечно применяю в других компонентах сайта. Но как пользователю показать товар который находиться сразу в нескольких категориях и при этом его не запутать.

Спустя 30 минут, 8 секунд (1.02.2012 - 20:29) neadekvat написал(а):
Цитата (Воитель @ 1.02.2012 - 20:59)
Я хочу увидеть сайт, где так продукция разложена.

Я же говорю, раскладывать лучше по принципу иерархии. По-другому вряд ли получится. В любом случаи будет подкатегория или родитель объекта. Вопрос только в том, сколько кликов сделать придется.

При просмотре продукта можно сделать так:
main > cat1, cat2 > pro1

Спустя 10 часов, 54 минуты, 29 секунд (2.02.2012 - 07:24) Воитель написал(а):
Кстати да, вариант. Не совсем идеальный. Но уже вариант.

Спустя 5 часов, 27 минут, 46 секунд (2.02.2012 - 12:51) neadekvat написал(а):
Цитата (Воитель @ 2.02.2012 - 08:24)
Кстати да, вариант. Не совсем идеальный. Но уже вариант.

Программирование и дизайн - поиск компромисов. Тут идеала не бывает.


_____________
Вечно учусь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.