Maison >base de données >tutoriel mysql >Comment modéliser efficacement des variantes de produits dans une conception de base de données ?

Comment modéliser efficacement des variantes de produits dans une conception de base de données ?

DDD
DDDoriginal
2024-12-30 19:47:15745parcourir

How to Efficiently Model Product Variants in a Database Design?

Modélisation des variantes de produits

Dans la conception d'une base de données, les produits peuvent avoir des variantes telles que la taille, la couleur, etc. Pour gérer efficacement ces variantes de produits , pensez à utiliser l'approche suivante :

Conception :

--------------- ---------------
| PRODUITS |-----≪ PRODUCT_VARIANTS |
--------------- ---------------
| #product_id | | #product_id |
| nom_produit | | #variant_id |
--------------- | sku_id |

    |             +---------------+
    |                       |

--------^-------- --------^--------
| PRODUCT_OPTIONS |-----≪ VARIANT_VALUES |
----------------- -----------------
| #product_id | | #product_id |
| #option_id | | #variant_id |
---------v-------- | #option_id |

    |              |  value_id       |

----------------- --------v--------
| OPTIONS | |
--------------- |
| #option_id | |
| nom_option | |
--------------- |

    |                       |

-------^------- |
| OPTION_VALUES |---------------
---------------
| #option_id |
| #value_id |
| value_name |
---------------

Clés primaires, clés uniques et clés étrangères :

  • PRODUITS

    • PK : product_id
    • Royaume-Uni : product_name
  • OPTIONS

    • PK : option_id
    • Royaume-Uni : nom_option
  • OPTION_VALUES

    • PK : option_id, value_id
    • Royaume-Uni : option_id, value_name
    • FK : option_id RÉFÉRENCES OPTIONS (option_id)
  • PRODUCT_OPTIONS

    • PK : product_id, option_id
    • FK : product_id RÉFÉRENCES PRODUITS (product_id)
    • FK : option_id RÉFÉRENCES OPTIONS (option_id)
  • PRODUCT_VARIANTS

    • PK : product_id, variant_id
    • Royaume-Uni : sku_id
    • FK : product_id RÉFÉRENCES PRODUITS (product_id)
  • VARIANT_VALUES

    • PK : product_id, variant_id, option_id
    • FK : product_id, variant_id RÉFÉRENCES PRODUCT_VARIANTS (product_id , variant_id)
    • FK : product_id, option_id REFERENCES PRODUCT_OPTIONS (product_id, option_id)
    • FK : option_id, value_id REFERENCES OPTION_VALUES (option_id, value_Id)

Exemple Données :

PRODUCTS PRODUCT_VARIANTS PRODUCT_OPTIONS OPTIONS OPTION_VALUES VARIANT_VALUES
1, Shirt 1, Size 1, Shirt, Size 1, Size 1, Small 1, Small
1, Shirt 2, Color 1, Shirt, Color 2, Color 1, White 2, White
2, Trousers 3, Size 2, Trousers, Size 1, Size 2, Medium 3, Medium
3, Trousers 4, Color 2, Trousers, Color 2, Color 1, White 4, White

Considérations de conception :

  • Cette conception permet l'ajout dynamique de nouveaux produits et de variantes.
  • Chaque variante est représentée par un SKU unique. .
  • Les valeurs SKU sont uniques dans toutes les variantes.
  • La conception garantit que chaque combinaison de variantes de produit est associé à un SKU unique et à un ensemble d'options et de valeurs.
  • Des options de variante peuvent être ajoutées ou supprimées sans affecter les variantes existantes.

Exemple de cas d'utilisation :

Considérez un produit Chemise qui peut avoir différentes tailles et couleurs. À l'aide de cette conception, vous pouvez créer le produit Chemise, la variante Taille avec des valeurs Petite et Moyenne et la variante Couleur avec des valeurs Rouge et Bleu. Chaque combinaison de taille et de couleur aura un SKU unique, tel que Small Red ou Medium Blue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn