Partage
  • Partager sur Facebook
  • Partager sur Twitter

Passage du MCD au MLD

    26 juillet 2022 à 15:33:01

    Bonjour,

    J'espère que vous allez bien,

    Dans cette discussion je cherche à comprendre SVP le passage du MCD au MLD, voici une partie d'un MCD que j'ai créé:


    En modèle logique je sais que id_countryexecution serait une clé étrangère dans l'entité "project", mais je veux comprendre s'il vous plaît, les cardinalités 1,1 et 0,N se traduisent où exactement, autrement dit, si on donne le MLD avec les deux tables et où id_countryexecution est une clé étrangère dans "project", comment peut-on déduire les deux cardinalités ?

    Question plus générale: Comment traduire les cardinalités du MCD en MLD? et comment déduire les cardinalités du MCD à partir du MLD?

    Merci de votre retour,

    Bien cordialement

    -
    Edité par BDD_2000 26 juillet 2022 à 15:33:38

    • Partager sur Facebook
    • Partager sur Twitter
      26 juillet 2022 à 17:17:19

      Bonjour il y a des règles simple prédéfinis sur les liaisons simple avec les cardinalites mais le mieux reste de te traduire ça en français pour que tu prennes l'habitude.

      Si on prend le cas de projet location tu dis clairement qu'un projet se fera forcément dans une seule location 1,1 et une location peut être attribué à 0 comme à plusieurs projets. Donc location ne prend pas de clé étrangère c'est elle qui va distribuer ca clé aux projets

      comment déduire ca

      si tu me donnes

      user(user_id, name, tatata)

      course(course_id, course_name,...) 

      user_course(#user_id, #course_id)

      deja on a l'entité user on a l'entité course ici je vois une nouvelle table qui contient la clé des deux tables donc forcément une laison entre ces deux tables

      maintenant pourquoi est ce que ce serait intéressant d'avoir une table pour lier les deux et bien dans le cas où l'utilisateur peut avoir plusieurs cours donc la relation sera

      sur user(0,n ou 1,n)

      sur course(0,n ou 1,n)

      ce type de relation dans les règles prédéfinis dont je parlais au dessus donne une nouvelle table

      En bref pour moi au début il te faut essayer de traduire en français tes relations voir pourquoi les cardinalites sont logiques comme ça. Faire le cheminement inverse vient naturellement si tu a compris le cheminement de base

      -
      Edité par zvheer 26 juillet 2022 à 17:20:07

      • Partager sur Facebook
      • Partager sur Twitter

      yasakani no magatama

        27 juillet 2022 à 10:19:07

        merci pour ton retour,

        mais le problème ici location n'a pas de clé, donc de quelle clé tu parles quand tu dis elle va distribuer sa clé à la table "projets"?

        pour la suite je pense avoir bien compris ce que tu dis, mais mon exemple est un peu différent, vu que id_country_of_execution est passé à la table projets, donc je ne vois pas pour quelle raison, ou bien comment cela a un rapport avec le type de sa relation avec "projets"

        Merci beaucouo

        • Partager sur Facebook
        • Partager sur Twitter
          27 juillet 2022 à 12:10:33

          comme appelles tu ce qui est en gras et souligné ? peut être utilise tu et ton professeur utilise des termes différents quoique je me rappelle que les notres ne voulait pas entendre parler de clé dans un modèle entité relation, mais en bref je parles ce que tu as souligné et en gras. project_location quand a lui n'est que le nom de l'association que tu met entre les deux entités. Tu peux dans certains cas rajouter des champs à cet association mais elle n'a pas de clé.

          Par exemple si on veut représenter un client qui va commander un livre

          client(0,n) commande(quantité) livre (0.n)

          là ici tu auras comme table

          commande(client_id, livre_id, quantité) 

          ps je suis partit du fait que livre_id et client_id existent dans leur table. 

          Si nous ne parlons toujours pas de la même chose essaie d'expliquer différemment là ou ça ne va pas

          edit: après relecture ce que j'ai dis en haut n'est pas clair, location est ton association et quand je parle de la clé je parle de la table qu'elle relis country_of_execution

          -
          Edité par zvheer 27 juillet 2022 à 12:11:48

          • Partager sur Facebook
          • Partager sur Twitter

          yasakani no magatama

            27 juillet 2022 à 13:30:53

            La cardinalité (0,N) veut dire qu'il peut y avoir des pays qui n'ont pas de projets; la (1,1) veut qu'un projet a UN seul pays.

            Dans les faits, tu n'as besoin ici de table intermédiaire project_location, et donc, comme tu l'indique id_country sera une étrangère dans project.

            A partir du moment où il y a une clé étrangère, on peut en déduire une relation (1,1) ou (0,1) du côté de la table source et (0,n) ou (1,n) dans la table qui a la clé étrangère.

            Si il y a une table avec plusieurs clés étrangères, il y a des relations (1,n) avec les tables dont sont issues les clés.

            • Partager sur Facebook
            • Partager sur Twitter

            Passage du MCD au MLD

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown