IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Associer plusieurs valeurs pour la même colonne


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 29
    Points
    29
    Par défaut Associer plusieurs valeurs pour la même colonne
    Bonjour


    Je travaille avec MySQL, EasyPHP et VB 6.
    J'ai deux tables dans ma base :
    • produits (ref_pdt, designation, ref_MP)
    • matiére premiere (ref_MP, designation...)

    Un produit est composé de plusieurs matières premières, donc comment je peux attribuer plusieurs valeurs de matière première pour un seul produit ?

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    multivaleur pour le même champs
    Dans une base de données relationnelle SQL :
    - on ne stocke qu'une seule valeur dans une colonne
    - il n'y a pas de champ, mais des colonnes

    je travaille avec mysql
    C'est le forum SQL Server, mais on peut quand même répondre à votre question

    c que un produits est composé de plusieurs matiere premiere,donc comment je peux attribuer plusieurs valeurs de matiere premiere pour un seul pdt?
    Vous pouvez supprimer la colonne ref_MP de la table produit.
    Créer ensuite une table produit_matiere_premiere (ref_pdt, ref_MP), avec une ligne de matière première pour chaque matière première composant votre produit.

    La définition d'une telle table sous SQL Server serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE produit_matiere_premiere
    (
    	produit_matiere_premiere_id int identity NOT NULL CONSTRAINT PKproduit_matiere_premiere PRIMARY KEY
    	, ref_pdt int NOT NULL CONSTRAINT FKproduit_matiere_premiere__ref_pdt FOREIGN KEY (ref_pdt) REFERENCES dbo.produit
    	, ref_MP int NOT NULL CONSTRAINT FKproduit_matiere_premiere__ref_MP FOREIGN KEY (ref_MP) REFERENCES dbo.matiere_premiere
    	, CONSTRAINT UQproduit_matiere_premiere__ref_pdt__ref_MP UNIQUE (ref_pdt, ref_MP)
    )
    Vous pourrez éventuellement ajouter d'autres caractéristiques comme par exemple la quantité à cette table, pour spécifier quelle quantité de matière première est requise pour fabriquer un produit.

    @++

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    Merci bien pour la réponse.
    Peut-on avoir deux produits différents possédant la meme matière première ?

    Merci encore.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Héhé oui :

    - un produit peut être composé d'une ou plusieurs matières premières.
    - une matière première peut participer à la composition de plusieurs produits.

    C'est donc une relation n..n, donc vous devez externaliser les attributs des entités produit et matière première dans la relation.

    Le modèle physique en résultant est une table comme celle que je vous ai proposé

    @++

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    merci infiniment ;je suis débutante dans le domaine et je trouve que c'est difficile!!!!!! mais je dois réussir.
    encore merci

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Le site de SQLPro est là pour vous aider ... et nous aussi

    @++

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 29
    Points
    29
    Par défaut
    merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. plusieurs valeurs pour une même énumération
    Par adaneels dans le forum C#
    Réponses: 6
    Dernier message: 10/04/2009, 17h41
  2. [MySQL] insérer plusieurs valeurs pour le même champ
    Par fAdoua123 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/03/2008, 13h41
  3. Plusieurs valeurs pour une meme colonne
    Par Aragorn) dans le forum SQL
    Réponses: 4
    Dernier message: 03/01/2008, 14h46
  4. Plusieurs valeurs pour une même colonne
    Par maxlegrand dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/10/2007, 13h32
  5. Plusieurs valeurs pour un même champ
    Par will89 dans le forum Requêtes
    Réponses: 32
    Dernier message: 14/06/2006, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo