Page 1 sur 1

Grosse structure infos

Posté : 29 juil. 2016, 11:47
par Sato
Bonjour,

Déjà je vous remercie, cela fait pas mal de temps que je suis inscrit et les membres ont toujours été là pour m'aider.

Je suis en train de crée un extranet pour un ami, mais cela s'avère plus compliqué que prévu, et je vous avoue que j'aimerai avoir des conseils pour structurer la béte.

L'extranet aura plusieurs fonctions:

Gérer des articles, qui auront des spécifications très précises, exemple des matelas, ou l'ont peut renseigner leur coutil, leur assise, leur fermeté etc....
Dans le futur il y'aura aussi des sommiers et des canapés et n plus de cela mon ami aimerait pouvoir en faire des packs.

La deuxième fonction est la gestion des stocks, relié a l'API de shoppping flux, donc, si il y'a deux matelas et un pack matelas + sommier vendu cela décrémentera: 3 matelas et un sommier.*

La troisième sera que dès qu'il y'a une commande cela envoi un mail a notre logisticien en lui envoyant un fichier CSV avec les informations de la dite commande.

Pour le moment j'en suis au prémices, j'ai crée la table matelas avec les infos que voici:

http://www.plixup.com/pics_core3/146978 ... se_sql.PNG

Mais je pense que je me suis mal organisé, qu'il faudrait enfaite faire des tas de jointures, et crée des tables à part pour chaque spécifications, pour la quantité je ne sais pas comment m'y prendre, sachant que chaque article pourra etre etre dans chaque marketplace.

AMAZON, CDISCOUNT etc...

Merci.

Re: Grosse structure infos

Posté : 29 juil. 2016, 19:15
par @rthur
Bonjour,

En fait, il faut que tu construises un schéma de bdd + souple/évolutif.
Il vaut mieux que tu ait une table produits avec les caractéristiques basiques et communes à tous les types de produits :

produits :
- id_produit
- nom
- reference
- prix_ht
Dans cette table tu auras une ligne par produits

Et avoir ensuite une table dynamique avec les caractéristiques/attributs possibles + une table qui fait le lien entre les produits et les attributs.

attributs:
- id_attribut
- libelle_attribut
Dans cette table, tu auras une ligne par caractéristiques possibles quelque soit le produit : type; longueur, largeur, poids, finition, couleur...

produit_attributs :
- id_produit
- id_attribut
- valeur
Dans cette table (qui va être très grosse) tu auras une ligne par caractéristique de chaque produit et leur valeur associé.

-----------------------------

Ainsi si tu as un canapé rouge de 220x95cm ça va te faire 1 entrée dans la table produits :
ID = 1 ; NOM = "Mon beau canapé" ; REFERENCE = CANAP12548 ; PRIX_HT = 120

4 entrées dans la table attributs:
ID_ATTRIBUT = 1 ; LIBELLE_ATTRIBUT = "Catégorie"
ID_ATTRIBUT = 2 ; LIBELLE_ATTRIBUT = "Couleur"
ID_ATTRIBUT = 3 ; LIBELLE_ATTRIBUT = "Largeur"
ID_ATTRIBUT = 4 ; LIBELLE_ATTRIBUT = "Profondeur"

et 4 entrées dans la table produit_attributs :
ID_PRODUIT = 1 ; ID_ATTRIBUT = 1 ; VALEUR = "canapé"
ID_PRODUIT = 1 ; ID_ATTRIBUT = 2 ; VALEUR = "rouge"
ID_PRODUIT = 1 ; ID_ATTRIBUT = 3 ; VALEUR = 220
ID_PRODUIT = 1 ; ID_ATTRIBUT = 4 ; VALEUR = 95


L'avantage de cette approche c'est que ta liste de caractéristiques sera complètement évolutive.
A noter que ce que tu cherches à faire existe déjà, ça s'appelle un PIM (Product Information Management) et il y en a qui existe en PHP comme Akeneo par exemple.