|
|
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
Всем привет. Нужно опытное мнение сообщества по поводу простого вопроса по проектированию. Представим есть таблицы - сущности Product Category Subcategory Как правильней и лучше с точки зрения проектирования создавать связи Product product_id name category_id subcategory_id Category category_id name Subcategory subcategory_id name category_id или связь продуктов с категориями через подкатегории, так как у каждой подкатегории есть категория Product product_id name subcategory_id Category category_id name Subcategory subcategory_id name category_id Какой вариант предпочтительней? Всегда делал первый но тут меня начинают поправлять мол, избыточная связь получается у продукта с категорией, так как у подкатегории все равно есть связь с категорией. Какое ваше мнение? Заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 00:55 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
scion4581, Product product_id name category_id subcategory_id если подкатегория зависит от категории, то category_id в таблице продуктов лишняя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 08:21 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
Категории и подкатегории хочется объединить в одну таблицу, а в продуктах оставить одну ссылку на подкатегорию (категорию самого низкого уровня). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 08:58 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
yuglКатегории и подкатегории хочется объединить в одну таблицу, а в продуктах оставить одну ссылку на подкатегорию (категорию самого низкого уровня). В одну таблицу это правильно, но ни к чему ограничивать себя ссылкой только на категорию низшего уровня. Рано или поздно найдётся товар, который не получится отнести ни к одной из них. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 11:57 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, всегда есть категория ПРОЧЕЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 12:06 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
объединить в одну таблицу это конечно очень хороший и экономный вариант, а насчет вот если не выбрана подкатегория или нужно фильтровать какие то продукты только по категориии, обращаю внимание что нельзя поставить прочее , тогда смысл есть оба держать в одной таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 15:38 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
Категории и субкатегории в любом случае случае хорошо держать в виде дерева в одной таблице - тогда проблем с назначением категории без субкатегории нет как класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 16:01 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, у меня уже была тут тема о фильтрах, вы тоже участвовали. я имею ввиду следующую ситуацию: допустим заказы имеют категорию и подкатегорию, а есть фильтры по этим заказам, они имеют множественный выбор, не суть не в этом, а в том что в фильтре можно указать только например категорию, получается чтобы получить все заказы по этой категории нужно получить эту категорию, так как ее нет а есть подкатегория в заказе, то нужно лишнее объединение заказов с категориями (где категории и подкатегории в одной таблице), потому что категории в заказе нет! Суть я конечно понял и вы все тут правильно сказали. Я просто вот такой "аномальный" случай рассматриваю для себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 16:16 |
|
||
|
Простой вопрос по проектированию
|
|||
|---|---|---|---|
|
#18+
scion4581, Ну да, "лишнее" соединение. Соединение по ключу - дешевая операция, что их бояться-то? И опять же, если Вам так позарез не хочется делать это лишнее соединение - да, можно пойти на сознательную денормализацию и вкрутить категорию в заказ. Главное при этом понимать, чем Вы жертвуете ради производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2015, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=22&tid=1540619]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 141ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...