web-dev-qa-db-fra.com

quelle est la meilleure façon de concevoir la table de panier d'achat - SQL Server

Je souhaite créer un panier d'achat dans une boutique en ligne. J'ai deux façons de concevoir un panier d'achat, mais je ne sais pas lequel est le meilleur.

Solution 1: créez un tableau comme ci-dessous:

enter image description here

de cette façon, pour chaque produit pour un utilisateur, ajoutez une nouvelle ligne.

note UserId et ProductId sont uniqe

Solution 2:

utiliser deux tables: panier, cartItem

enter image description here

De cette façon, pour chaque utilisateur, créez simplement un enregistrement dans Shoopingcart Table.

Quel est ton opinion?

5
Uthman Rahimi

L'option 2 est la solution canonique pour le modèle Order/OrderItem, qui est essentiellement un panier d'achat. Il permet au panier d'être traité dans son ensemble et distinct d'un autre panier qui peut être soumis par le même utilisateur arbitrairement peu de temps après. La réalisation peut être enregistrée sur un panier plutôt que sur chaque article individuellement, si c'est ce qui est requis.

5
Michael Green