Это уже старая тема, но я подумал, что было бы интересно подумать о том, как это развивалось (особенно при большей скорости обработки означает, что время от времени можно рисковать).
Вы когда-нибудь задумывались о том, чтобы хранить каждый атрибут как отдельный элемент в таблице ... скажем, в таблице "2", где ключом к продукту будет идентификатор:
Product (table 1)
{
Product ID
Product Name
}
Tags (table 2)
{
Tag ID
Higher Level tag ID
Description
Value
Product ID
}
И эта таблица будет также содержать поле, называемое «более высокий уровень», чтобы вы могли найти уникальный идентификатор в этой таблице, атрибут которого был создан в качестве более высокого уровня для этого конкретного продукта.
Таким образом, у вас есть что-то, что называется «всеуровневая маркировка».
Надеюсь, это поможет