Я решаю проблему, как хранить продукты с ее вариантами в базе данных. Моя текущая система выглядит следующим образом:mysql-схема продуктов и вариантов базы данных
PARAMETERS - id_parameter (some parameter value - i.e. size XXL),...
PRODUCTS_PARAMTERS - id_product, id_paramter
CATEGORIES - id_category,...
PRODUCTS_CATEGORIES - id_product, id_category
FILES - id_file,...
PRODUCTS _FILES - id_file, id_product
PRODUCTS - id_product, description, price, vat, is_variant (1 or 0, if 1, product is variant), main_product(id is variant, here is stored main products id)
В этой системе, если продукт не вариант, он не заполнил только цену. У этой системы есть плюсы, что мне не придется делать так много изменений в коде и функциях ... минусы, я думаю, по размеру. Потому что будет много или ряды - основные продукты и варианты, поэтому запрос должен будет проверить, то есть 10 000 строк ...
Теперь я немного об этом подумал, и у меня есть эта идея: магазин main продуктов и вариантов в отдельные таблицы. Затем мне нужно будет отредактировать таблицы сопоставления - я могу добавить туда столбец, где я укажу, если id_product - из таблицы вариантов продуктов или из основных таблиц продуктов. Или мне нужно будет создать другие таблицы сопоставления - в одной таблице сопоставления я буду хранить параметры для основных продуктов, а во втором я буду хранить параметры для вариантов продуктов ...
Что вы думаете об этих 2 решениях? Какой из них будет лучше? Наиболее важным для меня является скорость - особенно при фильтрации продуктов ...
Благодарим вас за ваши мнения или идеи, как это сделать.
Попробуйте. И если вы столкнулись с проблемой, спросите еще раз. –
Спасибо за помощь @UweAllner – hanis