Conception base de données e-commerce

Signaler
-
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
-
Bonjour,

sur un site e-commerce j'affiche la liste des produits selon leurs catégories. lorsqu'un client sélectionne le produit cela doit l'amener vers une nouvelle page avec plus de détails, jusqu'à mnt tout est nickel.

j'aimerai ajouter une fonction qui va afficher des produits de la même catégorie et qui ont plus ou moins les mêmes caractéristiques techniques mais qui proviennent d'autre fournisseurs, et c'est sur cette dernière que je suis bloqué.

au niveau de la base de données j'ai deux tables "produits" et "catégories". la description technique est sous forme d'une colonne de la table "produits". sauf qu'on développement j'aurai des difficultés pour comparer les caractéristiques techniques des produits afin que je puisse filtrer et afficher seulement les produits dont j'ai besoin.

le fait de mettre une nouvelle table "description_prod" et supprimer la colonne description dans la table produit ne va pas résoudre mon problème car j'ai plusieurs catégories et chaque catégorie a des caractéristiques distinctes.

je me suis pas encore mis à programmer , je suis en phase de réflexion et j'aimerai avoir les idées claires avant que je commence quoique ce soit.

2 réponses

Messages postés
27308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
322
Bonjour,
Ton explication sur ce que tu souhaites réaliser n'est pas très claire...

Pourrais-tu essayer de reformuler ton besoin en incluant si besoin quelques exemples concrets ?

Pour l'instant le seul truc que je pense avoir compris c'est que tu as deux tables :
Produits et Catégories.
Sachant que tu as une relation 1 --> N entre ta table produits et celle des catégories ( * 1-> N veut dire : Pour une catégorie donnée tu peux avoir N produits)

Je pense qu'au même titre.. tu dois mettre en place une table Caracteritiques_produit avec également une relation 1 -> N avec ta table produits ( pour un produit... N caractéristiques )

Ensuite pour le filtrage il ne s'agira que de requêtes sql.



NB: en fonction de l'explication que tu nous donneras (plus détaillée et précise de ton besoin) je déplacerai peut-être ta question dans la rubrique SQL du forum..qui sera surement plus adaptée.
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
Pour ce genre de chose, soit on affiche les produits de la même catégorie soit on créer un systeme de Groupe ou Famille de produit qui seront affichés sur chaque produit de même groupe/famille exemple:

Famille -> Sous-famille -> Sous-Sous-Famille :
HDMI
HDMI -> Cables
HDMI -> Cables -> 1.2
HDMI -> Cables -> 1.3
HDMI -> Cables -> 1.4
HDMI -> Cables -> Plats
HDMI -> Cables -> Rallonges
HDMI -> Adaptateurs
HDMI -> Adaptateurs -> Raccords
HDMI -> Adaptateurs -> Hdmi/DVI
HDMI -> Adaptateurs -> Hdmi/DisplayPort
HDMI -> Appareils
HDMI -> Appareils -> Commutateurs
HDMI -> Appareils -> Convertisseurs
HDMI -> Appareils -> Convertisseurs -> Hdmi/VGA
HDMI -> Appareils -> Convertisseurs -> Hdmi/Peritel
HDMI -> Appareils -> Convertisseurs -> Hdmi/USB (MHL)
HDMI -> Appareils -> Convertisseurs -> Hdmi/YUV
HDMI -> Appareils -> Splitter

Cela permet de "sur"-catégoriser les produits. Mais cela ne gère pas du tout les produits dit "associés".

Par exemple, idéalement, avec les convertisseurs Hdmi/YUV serait de presenter des cables Hdmi ET des Cables YUV en plus des autres convertisseurs Hdmi/YUV.

Il ne peu donc pas y'avoir d'automatisme la dessus, seul un humain peut associer ou pas ces produits de famille ou sous-famille différente.

Les produits associés sont donc des listes fabriquée de toute piece, que l'on peut modifier à souhait selon les ventes les plus fréquentes. Toujours dans notre exemple, 80% des clients achète 1 cable Hdmi de 2.0m et 1 cable YUV de 2.0m avec le convertisseurs, mais, 60% d'entre eux, achète également un cable optique Toslink de 4m !

Il faut donc donner au vendeur la possiblité de créer une liste de produits associés, mettant en avant le cable hdmi 2.0m, le cable YUV 2.0m et le Toslink de 4m.

Voila pour te donner une belle piste de reflexion.

Quand on developpe pour le e-commerce il faut penser comme un commerçant (avec la réalité des marché, pratique commerciale etc) et non en tant que developpeur qui se coltine à fournir des fonctionnalité super cool mais inutile à la vente dans la plupart des cas.
Les automatismes c'est bien, mais il faut laisser au vendeur le control des listes produits et fiche produits pour qu'il puisse agir comme s'il était devant de vrai présentoirs et produits dans une boutique physique.
jordane45
Messages postés
27308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
322
Bonjour,
Il ne peu donc pas y'avoir d'automatisme la dessus, seul un humain peut associer ou pas ces produits de famille ou sous-famille différente.
On peut tout à fait "automatiser" la recherche de ce qu'il demande.
Il ne s'agit que de bien concevoir la BDD et les requêtes qui permettrons ensuite d'effectuer les recherches...

Il ne parle pas de sur-categoriser ces produits..
Il indique qu'il a UNE catégorie pour un produit donné et DES caractéristiques.
ce qu'il souhaites (d'après ce que j'ai compris) c'est pour une même catégorie rechercher la liste des produits ayant les mêmes caractéristiques ( chose faisable avec une table caractéristique rattachée à ses produits..).

Les produits associés sont donc des listes fabriquée de toute piece
Si par "Associés" tu entends ( de même type) alors la réponse est :Non..
Tu imagines que pour chaque produit d'un magasin ou d'un site e-commerce on s'amuse à créer une liste de produits ressemblants ?
Non.. car si à un moment donné un des tes produits est retiré de la vente ou qu'un nouveau produit arrive dans ton commerce tu sera obligé de repasser sur chacune de tes listes une par une...

( Par contre une liste d'accessoires ou d'options disponibles pour ce produit...oui.. là une liste "manuelle" devra être créée... mais ce n'est pas la question posée me semble t-il )


Quand à ta table de catégories que tu propose ( à 3 colonnes : Famille -> Sous-famille -> Sous-Sous-Famille ) que se passera t'il si je décide d'ajouter encore un sous niveau à l'une des typos ?
Le mieux dans ce cas là est une table contenant les champs suivants :

id_typo | nom_typo | id_typo_parent
1 HDMI 0
2 Cables 1
3 Rallonges 2
4 Adaptateurs 1

Ainsi tu peux ajouter autant de sous catégories que tu le souhaites sans avoir à modifier la structure de ta table.

Enfin bon..j'espère qu'on aura un retour du demandeur pour savoir si nous avons bien compris sa question..
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
Attention jordan, il ne faut pas confondre par produit :

Les Produits associés (manuel, listes fabriquées pour famille et sous famille produits)
Accéssoires (manuel, liste unique pour chaque produits)
Les produits de la même catégorie (automatique)
Les produits similaires (automatique, alternatives ou gammes de famille et sous famille identique)
Les ventes croisées (automatisme basé sur les paniers identiques)

etc.

Il y a également une réalité à prendre en compte, c'est celle de la catégorisation et export de flux produits vers diverses plateforme (logistique, market place, comparateurs etc).
Les familles et sous familles permettent d'associer les catégories différente venant des différentes plateforme (et propre à ces dernières).

Bon la on ne parle que d'affichage d'elements en front-office, soit donc les produits associés, les produits similaires, les accessoires et les ventes croisées.

Comme je le dis dans mon exemple, pour les produits associés ont ne peux pas déterminer automatiquement (ou que très légèrement) quels produits sont à présenter avec tel ou tel produits. Les Familles et sous-familles peuvent aider, les catégorisations également, mais il doit être possible à tout moment de compléter/corriger ces listes.

Pour en maintenir la cohérences quand des produits sont ajoutés ou supprimés c'est trés simples, on doit pouvoir fournir la possibilité d'afficher la liste de chaque groupe de produits associés en cas d'ajout de produit et la possibilité de supprimer la liste de produits associés si elle n'est rattachée qu'au produit que l'on supprime.

tout est une question de conception.