Можете да имате всичко в една таблица, категория. След това има колона за parentID. Ако parentID =0, това е основна категория, ако е друг ID, тогава това е подкатегория? Тази структура ще поддържа под-подкатегории... не съм сигурен дали това е полезно за вас.
Примерни полета:
Table: category
categoryID
parentID
name
Примерни данни:
categoryID : 1
parentID : 0
name : hot
categoryID : 2
parentID : 0
name: cold
categoryID : 3
parentID : 2
name : a soup that's cold
categoryID : 4
parentID: 1
name: a soup that's hot