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

MySQL Discussion :

clé unique pour une clé étrangère, c'est possible?


Sujet :

MySQL

  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut clé unique pour une clé étrangère, c'est possible?
    Salut c'est le specialiste des questions betes qui recidive lol

    J'ai un petit soucis.

    Je suis sur une BdD mysql assez simple mais qui me pose des soucis pour un point de detail

    Le truc c'est que j'ai 3 tables: menu, commande et client.

    Les tables client et menu envoi les cles etrangeres dans la table commande lors de la prise de commande.

    Jusque la c'est simple ^^

    Mais sa se corse la

    dans la table les différentes éléments comportent une mention les faisant correspondre a différentes catégories ( pizza, salade, boisson, etc)

    Le soucis c'est qu'il y aura aussi la catégorie suppléments et c'est la que le bas blesse.

    Comment puy-je faire pour faire correspondre une ou plusieurs suppléments a une pizza par exemple sachant qu'il s'agit du coup de plusieurs clés étrangères venant de la même table?

    Si quelqu'un a une idée lumineuse merci d'avance.

    PS je sens que je vais passer pour un benêt avec cette question arf
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  2. #2
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Si j'ai bien compris tu as :
    • une table client
    • une table menu
    • une table commande
    • une table produit (pizza par exemple)
    • et une table supplément


    Si tu veux que ton produit (ici ta pizza) comporte plusieurs supplément, il faut faire une association 0,n 0,n entre tes tables produit et supplément (suivant mon exemple, tu as peut être dautres noms).

    De ce fait tu auras une nouvelle table (apellons la appartenir) qui ressemblera à ca:
    Appartenir(#num_produit,#num_supplement) où ces deux champs sont la clé primaire (et sont clés étrangères à la fois)

    Si tu veux que ta pizza (num_prod > 2) aient des cornichons (num_supplement > 1) et des tomates (num_supplement > 4) tu auras dans ta table :

    num_prod num_supplement
    2 1
    2 4

    Voilà, j'espère avoir été assez claire et que c'est bien ce que tu demandais ^^

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut re
    la table produit correspond a la table menu mais sinon oui c'est bien sa le soucis c que si dans une commande g 2 pizzas identiques mais avec des supplément différents je risque d'avoir des soucis...... a part si je redonne a chaque entité (pizzas par exemple) un id unique supplémentaire

    Oui sa pourrais marcher sa merci beaucoup je savais bien que je bloquais sur un truc tout con toujours comme sa avec moi
    Merci beaucoup^
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

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

Discussions similaires

  1. identifiant unique pour une balise form_remote_tag
    Par dancingmad dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 02/07/2009, 09h55
  2. Réponses: 2
    Dernier message: 30/05/2009, 14h04
  3. Employé en France pour une société étrangère
    Par padawa dans le forum Droit du travail
    Réponses: 13
    Dernier message: 02/06/2008, 17h29
  4. Réponses: 8
    Dernier message: 18/01/2007, 21h01
  5. Travailler en France pour une entreprise étrangère
    Par HALOMOTO dans le forum Société
    Réponses: 11
    Dernier message: 29/09/2006, 18h20

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