Organisation de ma base MYSQL

Golems -  
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. sso
     
    Salut,

    jpense que tu devrais créer une nouvelle table VENDEUR

    voila
    0
    1. bacchuss Messages postés 1165 Statut Membre 190
       
      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.
      0
      1. Golems > bacchuss Messages postés 1165 Statut Membre
         
        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
        0
    2. Golems
       
      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
      0
      1. bacchuss Messages postés 1165 Statut Membre 190 > Golems
         
        bah 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...
        0
  2. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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.

    ++
    0