Organisation de ma base MYSQL

Bonjour

Je voudrais votre avis sur l'organisation de ma base de données MYSQL.

Je voudrais faire un site avec x vendeurs et y produits à vendre où un même produit peut être vendu par des vendeurs différents à des prix différents.

Pour un vendeur pas de soucis :

J'ai les tables suivantes :

table magasin (idMagasin, nomMagasin, adresseMagasin, telMagasin, etc...)

table produits (idProduits, descriptifProduits, prix)

Mon souci est lorsque j'ai plusieurs vendeurs pour un même produit. Faut il ajouter un nouveau champ à la table produit pour chaque vendeur, sachant que je sais combien de vendeur j'ai à l'avance.

La table produits deviendrai donc celle-ci :
table produits (idProduits, descriptifProduits, prixVendeur1, prixVendeur2, prixVendeur3, etc..., prixVendeurX) ???

Avez vous une autre méthode pour résoudre ce pb.
Comment font les sites style priceminister.com pour organiser leur base de données sur ce sujet : 1 produit, x vendeurs à des prix complétement différents

Merci d'avance

Golems

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    jpense que tu devrais créer une nouvelle table VENDEUR

    voila
    1. salut, je dirai même 2 tables:

      Vendeur (idVendeur, nomVendeur, ....)
      Vente (idVendeur, idProduit, Prix)

      Ca complique un peu tes requetes mais c'est beaucoup plus propre et plus puissant comme ca.
    2. Oki donki merci pour le conseil

      Juste un petit hic

      table magasin (...)
      table produits (idProduit, descProduit, prixProduit)

      devient
      table magasin (...)
      table produits (idProduit, descProduit)
      tables vendeurs (idVendeur, nomVendeur, ....)
      tables vente (idVendeur, idProduit, Prix)

      Ok pas de soucis jusque la, mais imagine 2000 produits avec ne serait ce que 2 vendeurs qui vendent les mêmes produits mais à des prix différents -> ma table vente contiendra 4000 entrées !!!!!!! lourd tres tres lourd

      Moi je trouvais que ma solution d'ajouter un nouveau champ par vendeur à la table produits était moins lourd : je ne garde que 2000 entrées dans mes produits avec un ajout de champ lorsqu'un vendeur se déclare comme nouveau vendeur.

      Quand penses tu ?

      Merci d'avance

      Golems
    3. @bacchussOki donki merci pour le conseil

      Juste un petit hic

      table magasin (...)
      table produits (idProduit, descProduit, prixProduit)

      devient
      table magasin (...)
      table produits (idProduit, descProduit)
      tables vendeurs (idVendeur, nomVendeur, ....)
      tables vente (idVendeur, idProduit, Prix)

      Ok pas de soucis jusque la, mais imagine 2000 produits avec ne serait ce que 2 vendeurs qui vendent les mêmes produits mais à des prix différents -> ma table vente contiendra 4000 entrées !!!!!!! lourd tres tres lourd

      Moi je trouvais que ma solution d'ajouter un nouveau champ par vendeur à la table produits était moins lourd : je ne garde que 2000 entrées dans mes produits avec un ajout de champ lorsqu'un vendeur se déclare comme nouveau vendeur.

      Quand penses tu ?

      Merci d'avance

      Golems
    4. @Golemsbah c'est comme ca que ce sera le plus efficace.
      Imagine toi faire des recherches pour connaitre tous les produits vendus par un vendeur. Avec ta méthode, tu vas devoir scruter toute ta table produits, sachant que pleins de champs seront vides...

      et puis 4000 entrées, c'est pas beaucoup...
  2. Contributeur
    Aprend qq concepts de la méthode MERISE si tu veux faire des bases de données optimisées.
    Pour cela, tu as déjà plein de post qui en parle.

    ++