Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 70
    Points : 14
    Points
    14

    Par défaut Est-il possible de réaliser une association ternaire dans un diagramme EER sous MySQL WorkBench ?

    Bonjour à tous !

    Alors, je suis en train de préparer ma base de données en réalisant un diagramme EER sous WorkBench. Et je me suis rendu compte qu'il était impossible de faire des associations ternaires.

    La seule solution que j'ai trouvée est de faire une classe d'association, que je vais appeler CA1, entre la classe A et la classe B, puis une autre classe d'association, CA2, entre la classe CA1 et la classe C (un exemple est disponible en pièce jointe). Seulement, c'est vraiment pas représentatif d'une ternaire, et on s'y perd facilement.

    Y aurait-il une solution à mon problème ?
    Images attachées Images attachées

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 747
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 13 747
    Points : 22 930
    Points
    22 930

    Par défaut

    Soit l'association ternaire suivante :
    A -0,n----associer----0,n- B
    C -0,n---------|

    C'est équivalent à ce MCD :
    A -0,n----associer_A----(1,1)- association -(1,1)----associer_B----0,n- B
    C -0,n----associer_C----(1,1)--------|

    Tu as donc 3 associations binaires avec identification relatives (Identifying relationship).

    Façon MySQL Workbench, ça donne ce schéma E/R :
    [IMG]file:///tmp/moz-screenshot.png[/IMG][IMG]file:///tmp/moz-screenshot-1.png[/IMG]
    Dans la pratique, quand tu crées une association binaire de type n:m dans MySQL Workbench, ça crée automatiquement une table associative A_has_B et deux "relationships" vers A et B.
    Tu changes le Mandatory des relationships pour tenir compte de la cardinalité mini à zéro puis tu ajoutes la troisième table C et tu l'associes avec une "1:n Identifying relationship" à A_has_B. Tu changes là aussi la Mandatory puis tu changes le nom de la table A_has_B en A_B_C.
    Images attachées Images attachées
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2011
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 70
    Points : 14
    Points
    14

    Par défaut

    Merci beaucoup !
    Effectivement ça marche bien mieux qu'avec deux classes d'association...

    Encore merci, bye

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •