Estoy usando MySQL. La idea es similar a la de Shopify con un concepto diferente, por lo que los usuarios agregarán sus propios productos con múltiples tipos de variantes y atributos.
De toda la investigación que he hecho, esta parece ser la solución más probable para mí y me pregunto si hay algún problema con el siguiente esquema y cuáles son las ventajas y desventajas.
Gracias
Table: products
------------------------------
| ID | ProductName |
|----------------------------|
| 1 | Leather Wallet Case |
| 2 | Jeans |
| 3 | Power Bank |
Table: products_variants
-------------------------------
| ID | ProductId | ParentId | Variant | VariantName | SKU | StockTotal | WholeSalePrice | BuyPrice | OnSale | OnSalePrice |
|---------------------------------------------------------------------------------------------------------------------------|
| 1 | 1 | null | model | iPhone5 | SKU | 10 | 3 | 10 | null | null |
|---------------------------------------------------------------------------------------------------------------------------|
| 2 | 1 | null | model | iPhone4 | null | null | null | null | null | null |
| 3 | 1 | 2 | color | Red | SKU | 10 | 3 | 10 | null | null |
| 4 | 1 | 2 | color | Blue | SKU | 10 | 3 | 10 | null | null |
|---------------------------------------------------------------------------------------------------------------------------|
| 5 | 2 | null | size | M | null | null | null | null | null | null |
| 8 | 2 | 5 | color | Black | SKU | 10 | 3 | 10 | null | null |
| 9 | 2 | null | size | XXL | SKU | 10 | 3 | 10 | null | null |
| 10 | 2 | 9 | material | Cotton | null | null | null | null | null | null |
| 11 | 2 | 10 | color | Red | SKU | 10 | 3 | 10 | null | null |
| 12 | 2 | 10 | color | Blue | SKU | 10 | 3 | 10 | null | null |
| 13 | 2 | 9 | material | Casmir | null | null | null | null | null | null |
| 14 | 2 | 13 | color | Green | SKU | 10 | 3 | 10 | null | null |
| 15 | 2 | 13 | color | Brown | SKU | 10 | 3 | 10 | null | null |
|---------------------------------------------------------------------------------------------------------------------------|
| 13 | 3 | null | null | null | SKU | 10 | 3 | 10 | null | null |
mysql
database-design
schema
eav
lesandru
fuente
fuente
Respuestas:
Esta es solo la información de la respuesta de @lesandru, realmente me parece muy útil, así que le doy crédito a él y a @sahalMoidu
Aplicando la normalización a su problema, la solución es la dada. Corre y míralo en Fiddle
Violín
fuente
He encontrado una solución similar y mejor en esta pregunta respondida /programming/19144200/designing-a-sql-schema-for-a-combination-of-many-to-many-relationship-variation
fuente
Esquema de base de datos para múltiples tipos de productos
La solución está aquí: http://www.codingblocks.net/programming/database-schema-for-multiple-types-of-products/
fuente