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

Schéma Discussion :

Différencier deux associations entre deux mêmes entités


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 34
    Points
    34
    Par défaut Différencier deux associations entre deux mêmes entités
    Bonjour,

    J'ai un petit soucis en essayant de concevoir un mcd, j'aimerais lier deux entités "player" à une entité "game" mais je voudrais pouvoir les différencier.

    Si je crée deux associations "play white" et "play black" avec des cardinalités 1:1 - 0:N (un unique joueur blanc par jeu, 0 à n jeu par joueur), je vais avoir deux foreign key "playerid" dans ma table "game", mais comment je vais pouvoir différencier le joueur blanc du noir sachant que je ne veux pas de colonne "color" sur la table "player" ?

    J'ai penser à ne faire qu'une association "joue" avec cardinalité 1:N - 0:N et avec un attribut "color" mais cela va m'engender une table supplémentaire que je souhaiterais éviter si possible.

    Peut-être que je n'ai pas le choix mais j'ai vu dans la faq merise un exemple où une commande est rattachées à deux clients par deux associations "passé par" et "facturé à autre".
    Comment peut-on les différencier ensuite ?

    Merci d'avance pour vos lumières

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 966
    Points : 30 778
    Points
    30 778
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Migosh59
    j'ai vu dans la faq merise un exemple où une commande est rattachées à deux clients par deux associations "passé par" et "facturé à autre".
    Si vous traduisez le MCD en MLD, vous aurez deux colonnes référençant les clients : une pour le rôle "passer commande" et l’autre pour le rôle "facturer commande".

    En représentation tabulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Client (n°client,   nom,       ...)
               1        Kasparov
               2        Spassky
               3        Fischer
    
    Commande (n°commande, n°client_passer, n°client_facturer, datecommande, ...)
                1               1                  2           2008-04-12  
                2               3                  1           2008-04-11
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 057
    Points
    2 057
    Par défaut
    Citation Envoyé par Migosh59 Voir le message
    j'aimerais lier deux entités "player" à une entité "game" mais je voudrais pouvoir les différencier.
    Pourquoi 2 entités ? Une seule suffit. Un joueur est un joueur, que son rôle (voir message de fsmrel) soit blanc ou noir dans un jeu.

    Citation Envoyé par Migosh59 Voir le message
    Si je crée deux associations "play white" et "play black" avec des cardinalités 1:1 - 0:N (un unique joueur blanc par jeu, 0 à n jeu par joueur), je vais avoir deux foreign key "playerid" dans ma table "game",
    Ca me semble logique. Mais il faudra impérativement renommer au moins l'une de ces FK.
    Et pourquoi pas renommer les 2 ? Par exemple "playerid_white" et "playerid_black".

    Citation Envoyé par Migosh59 Voir le message
    mais comment je vais pouvoir différencier le joueur blanc du noir [...] ?
    La réponse est ci-dessus.


    Pour finir, tu voudras peut-être que le même joueur n'aie pas à la fois les rôles blanc et noir dans le même "game". Dans ce cas, tu devras contrôler que, dans une même occurrence de "game", la valeur de "playerid_white" est différente de celle de "playerid_black".


    JPhi33
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    Je ne savais pas qu'on pouvait renommer les Foreign Key, ça explique tout
    Merci Je me doutais bien que la réponse à mon problème était toute simple

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

Discussions similaires

  1. [MCD] Plusieurs associations entre deux entités
    Par francky74 dans le forum Schéma
    Réponses: 4
    Dernier message: 05/02/2015, 16h58
  2. deux associations entre deux classes
    Par hamza_bba dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 21/03/2009, 16h40
  3. Réponses: 22
    Dernier message: 25/02/2009, 10h11
  4. Réponses: 2
    Dernier message: 09/06/2006, 20h34
  5. Type de lien entre deux associations
    Par thibal dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/06/2005, 17h53

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