|
|
|
Иерархия категорий
|
|||
|---|---|---|---|
|
#18+
Добрый день! Имеется каталог товаров. Товары принадлежат к определенным категориям. При этом категории тоже расположены иерархически. категории верхнего уровня --категория среднего уровня ----категория нижнего уровня --категория среднего уровня ----категория нижнего уровня категории верхнего уровня --категория среднего уровня ----категория нижнего уровня --категория среднего уровня ----категория нижнего уровня Проблема состоит в том, что категория верхнего уровня не всегда содержит категории среднего уровня (аналогично категории среднего уровня не всегда содержат категории нижнего уровня). Соответственно товар может принадлежать как категории нижнего уровня, так и среднего, и верхнего. Отсюда вопрос: как все это дело связать? На данный момент вижу варианты: 1) даже если категория верхнего уровня не содержит подкатегорий, создавать в ней одну категорию среднего уровня, а в ней одну категорию нижнего уровня, и соответственно к последней будет принадлежать товар Тогда получаются 4 таблицы -верхняя категория -средняя категория (внешний ключ со ссылкой на верхнюю кат.) -нижняя категория (внешний ключ со ссылкой на среднюю кат.) -товар (внешний ключ со ссылкой на нижняя кат.) 2) Так как я с большой долей вероятности уверен, что - верхних категорий < 10 - средних категорий < 100 то можно создать таблицу, где будут содержатся все виды категорий, но идентификаторы: 1-9 для верхних категорий 10-99 для средних категорий 100-... для нижних Получается всего две таблицы -категории -товар Очевидный минус - в таблице категорий одни кортежи ссылаются на другие. Ваши предложения? С уважением, Сергей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 15:23 |
|
||
|
Иерархия категорий
|
|||
|---|---|---|---|
|
#18+
авторОчевидный минус - в таблице категорий одни кортежи ссылаются на другие. Это еще почему минус? в данной ситуации у вас классическая связь многие-ко-многим (товар-категории) которая так же классически развертывает в две связи 1-к-1 с помощью дополнительной таблицы. т.о. имеем 3 таблицы: -товары -категории (с деревом на id<-parent_id) -товар в категории (два внешних ключа на товар и категорию) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 15:39 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33487507&tid=1545462]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 464ms |

| 0 / 0 |
