У меня есть хранилище электронной коммерции, которое я создаю. Я использую Rails/ActiveRecord, но это действительно не необходимо для ответа на этот вопрос (однако, если Вы знакомы с теми вещами, не стесняйтесь отвечать с точки зрения направляющих/AR).
Одно из требований хранилища - то, что это должно представить два типа продуктов:
Я сделал такого рода вещь в прошлом и сделал следующее:
Есть ли лучшие способы, которыми я мог делать это?
Ваш путь кажется довольно гибким. Это было бы похоже на мой первый разрез.
Я работал над продуктом электронной коммерции несколько лет назад, и мы сделали это так, как вы описали. Но мы добавили еще один слой для обработки нескольких атрибутов на одном продукте (размер и цвет, как вы сказали). Мы отслеживали каждый атрибут отдельно, и у нас была таблица «Skus», которая перечисляла каждую комбинацию атрибутов, которая была разрешена для каждого продукта. Что-то вроде этого:
attr_id attr_name
1 Size
2 Color
sku_id prod_id attr_id attr_val
1 1 1 Small
1 1 2 Blue
2 1 1 Small
2 1 2 Red
3 1 1 Large
3 1 2 Red
позже мы добавили инвентарь отслеживания и другие функции, и мы связали их в идентификаторы SKU, чтобы мы могли отслеживать каждый отдельно.