Я хочу создать интернет-магазин с несколькими категориями. Например, наша первая категория - это электроника (включая мобильные телефоны, ноутбуки и т. Д.), А наша вторая категория - это одежда (включая футболки, брюки и т. Д.). Независимо от категории, все продукты имеют одинаковые атрибуты, такие как название, бренд, цена, инвентарь и т. Д. Каждая категория имеет уникальные атрибуты, например, категория электроники имеет разрешение, ОЗУ и атрибуты ЦП, а категория одежды включает такие атрибуты. как пол, размер, пол и цвет.
so:
электроника contine: название, марка, цена, инвентарь, разрешение, оперативная память, процессор
Континент одежды: название, марка, цена, инвентарь, пол, размер, пол, цвет
Я придумал три структуры для своей базы данных и могу помочь вам с любым другим утверждением. во всей структуре
Первая структура: ___________________________________________________________
tables | columns
---------------------------------------------------------------------
category : id, name
product : id, cat_ID, name, brand, price, inventory, OtherAttr
cat_ID имеет отношение к category.id
Тип столбцов otherAttr - json, и в этом столбце хранятся другие атрибуты, но поскольку я до сих пор не использовал столбцы jSon в базе данных, это меня немного беспокоит.
Второй состав: __________________________________________________________
tables | columns
---------------------------------------------------------------------
category : id, name
product : id, cat_ID , name, brand, price, inventory
attributesName : id, name , description // STORE ATTR NAMES
attributesValue : id, attrName_ID , value // ALL POSSIBLE VALUES FOREACH ATTR, SUCH AS MAIL AND FEMAIL FOR SEX
categoryAttr : id, attrName_ID , cat_ID // ALL UNIQE ATTR FOR EACH CATEGORY SUCH AS SEX, SIZE, GENDER AND COLOR FOR CLOTHING
productsAttr : id, product_ID , attrValue_ID
Это очень гибкий метод, но в этой структуре беспокоит то, что вы не можете фильтровать продукты на основе нескольких уникальных атрибутов, например, я не знаю, как найти идеальный запрос для мобильного телефона с 2 ГБ ОЗУ и двумя основной процессор. ?
Третья структура ____________________________________________________________
tables | columns
---------------------------------------------------------------------
category : id, name
product : id, cat_ID , name , brand, price , inventory
electronics : id, product_ID, resolution, RAM , CPU
clothing : id, product_ID, sex , size , gender, color
и для каждой другой категории создать таблицу отношений. Эта структура увеличивает размер кода и требует больше времени от программиста, но администраторам проще вставлять данные и предоставлять больше возможностей фильтрации.