Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un mcd mld depuis un mpd

    2 avril 2020 à 13:27:50

    Bonjour,

    Actuellement en stage (qui se déroule mal), on m'a fourni ce document.

    J'ai 2 questions :

    1. Pour moi c'est un MPD, êtes vous d'accord ?

    2. Comment faire mon MCD et mon MLD à partir de ceci (si cela est possible) ?

    Merci

    -
    Edité par EricClouzet 2 avril 2020 à 13:28:42

    • Partager sur Facebook
    • Partager sur Twitter
      2 avril 2020 à 14:13:27

      Bonjour,

      C'est un mélange de MLD et de MCD, tu n'as pas toutes les contraintes liées au SGBD avec qui donnerait un MPD.

      En plus les table de relation sont mal fichues...

      Si le schéma n'est pas plus gros que ça, tu peux facilement faire le MCD manuellement.

      Tu peux utiliser un logiciel genre JMerise ou Looping pour formaliser tout ça.

      -
      Edité par Benzouye 2 avril 2020 à 14:15:35

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        3 avril 2020 à 17:53:17

        Je vais essayer mais seul sans connaissances, sachant que c'est impératif pour mon titre, je suis dépité.

        Merci pour ta réponse.

        Je te montrerai ce que j'ai fait.

        • Partager sur Facebook
        • Partager sur Twitter
          3 avril 2020 à 18:03:17

          Je te conseille la lecture du doc "Conception BDD" via ma signature ;)

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            4 avril 2020 à 15:41:15

            Merci à toi, je vais lire ça
            • Partager sur Facebook
            • Partager sur Twitter
              18 avril 2020 à 14:22:18

              J'ai lu, mais je n'y arrive pas du tout. J'ai posé mes entités et ensuite je ne sais quoi faire....
              • Partager sur Facebook
              • Partager sur Twitter
                18 avril 2020 à 14:25:33

                Tu en es où ?

                Tu peux utiliser un logiciel de modélisation genre JMerise, MoCoDo ou Looping ...

                • Partager sur Facebook
                • Partager sur Twitter
                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                  18 avril 2020 à 16:40:42

                  J'utilise Dia. J'ai juste créé les entités. Après je n'arrive pas a définir les cardinalités.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 avril 2020 à 23:33:40

                    Si tu ne sais pas définir tes cardinalités, personne ne le pourra ...

                    Après tu peux quand même t'aider du pseudo MLD de ton premier message non ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                      19 avril 2020 à 15:25:41

                      Bonjour, j'ai avancé, puis je te montrer une version papier avant de tout formaliser en version logicielle ? Merci.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 avril 2020 à 16:51:40

                        Oui bien sûr.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                          19 avril 2020 à 17:01:18

                          Voici donc mon mcd sous Jmerise.

                          J'ai reflechi par entités, elle ne sont pas complétées par les différents champs.

                          Pourrais je avoir ton avis ?

                          Merci encore

                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 avril 2020 à 17:15:32

                            Non, cela ne va pas ... Tu n'arrive pas à déterminer ce qu'est un entité ... Il faut voir cela comme un objet tangible, avec des caractéristiques propres (c'est pourtant assez bien expliqué dans le document proposé plus tôt).

                            Par exemple session_user et session_admin ne sont pas des entités mes des relations ... Par exemple :

                            Mais dans ton premier message, le table user contient un champ session_id ... ce qui semble contredire ces cardinalités ... chelou ...

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                              19 avril 2020 à 17:21:48

                              Le problème c'est que le projet a avancé et que la personne cosidere les tables de relation comme des entités.

                              Donc que dois je faire ? Me baser sur ce qui a été fait sur le projet ?

                              -
                              Edité par EricClouzet 19 avril 2020 à 17:22:36

                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 avril 2020 à 19:17:43

                                Arf ... Ces entités ont un identifiant clé primaire (genre auto incrément) ET deux clés étrangères ? C'est une erreur de conception ...

                                Bon ... pour revenir sur ton besoin, que tu dois-tu faire exactement ?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                  19 avril 2020 à 19:24:50

                                  Alors, je pense qu'il faut que je remette dans le contexte, je suis stagiaire en fin d'études. Mon tuteur n'a pas de notion d'uml. Lui il avance sur le projet. Dans le cadre de mon passage de titre je dois présenter, un mcd un mld et un mpd . Je n'ai pas d'interlocuteurs pour valider les différentes étapes que je dois présenter.

                                  Si je n'ai pas été clair, précise moi tes attentes.

                                  En parallèle j'ai fait quelques modifications sur les cardinalités, en re re lisant ton document.

                                  Merci encore pour ton aide.

                                  -
                                  Edité par EricClouzet 19 avril 2020 à 19:25:14

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 avril 2020 à 0:21:58

                                    Dans un MCD une relation de cardinalités 1--n n--1 va être traduite dans le MLD par une table de relation, dont la clé primaire sera composée des deux clés étrangères des deux tables d'entités liées.

                                    Dans un MCD, les clés étrangères n'existent pas, donc les session_id, user_id et autres attributs qui correspondent à des clés étrangères ne doivent pas apparaître...

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                      20 avril 2020 à 8:58:56

                                      Je prends note. Je vais supprimer ces 3 tables, et te montrer ce que cela donne. Cela te convient il ?

                                      Actuellement j'ai donc ceci. En gros je dois faire queque chose que je ne connais pas et sans que personne en interne ne puisse m'aider...... Là j'aurais besoin d'un cours. Je relis encore ton document

                                      -
                                      Edité par EricClouzet 20 avril 2020 à 11:02:11

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        20 avril 2020 à 11:23:45

                                        Benzouye a écrit:

                                        Dans un MCD, les clés étrangères n'existent pas, donc les session_id, user_id et autres attributs qui correspondent à des clés étrangères ne doivent pas apparaître...

                                        Retire ces attributs de tes entités qui sont des clés étrangères...

                                        Sinon, avec JMerise tu peux te connecter à la base existante et faire une rétro conception. Cela pourrait t'aider à y voir plus clair.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                          20 avril 2020 à 13:30:51

                                          Voilà j'en suis à ce stade . Est ce correct ?

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            20 avril 2020 à 13:54:18

                                            Avec JMerise tu as un bouton >>

                                            Deux flèches vertes, clique dessus pour voir le MLD qui découle de ton MCD. Tu verras les écarts avec le modèle existant ...

                                            Mais vu qu'il y a une entity sessionItem, tu dois avoir une relation entre session et item.

                                            Et vu qu'il y a une entity sessionAdmin, tu dois avoir une relation 1,n---1,n entre ces deux, là tu as mis 1,1---1,n

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                              20 avril 2020 à 14:07:32

                                              Merci, je pense que là ce devrait correspondre.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                20 avril 2020 à 14:19:17

                                                As-tu essayé de générer le MLD ?

                                                As-tu essayé la retro conception ?

                                                Pour moi, il y a quand même des problèmes de conception de la part de l'équipe... mais bon... je suppose que ce n'est pas ton rôle de le signaler...

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                  20 avril 2020 à 14:24:01

                                                  Oui j'ai essayé de générer le mld mais je n'ai  pas la table de relation.

                                                  La rétro conception fonctionne aussi.

                                                  Ensuite effectivement je ne suis pas dans le capacité de dire que tout serait a refaire.

                                                  Par contre j'ai le code avec toutes les relations qu'ils ont créé.

                                                  Maintenant pour faire apparaître mes tables de relation et rajouter mes clés étrangères que dois je faire ?

                                                  Je suis désolé de te prendre autant de temps, mais qu'est ce que j'aurais apprendre avec toi.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    20 avril 2020 à 14:34:40

                                                    Si la retro conception a fonctionné, tu n'as plus rien à faire ... ton MCD a dû être recréé...

                                                    EricClouzet a écrit:

                                                    Oui j'ai essayé de générer le mld mais je n'ai  pas la table de relation.

                                                    Ça n'est pas normal... avec le MCD posté précédemment, JMerise devrait te sortir des tables "est composé par", "est géré par" et "fournit" ...

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                      20 avril 2020 à 14:40:14

                                                      Je te montre. Par contre je suis étonné que tout reparte vers session  (je parle du sens de la flèche). Il me reste donc a renommer ces entités comme par exemple est composée par ? edit : le probleme c'est qu'une fois le mld généré je ne peux plus changer le nom de ce qui est devenu une entité

                                                      -
                                                      Edité par EricClouzet 20 avril 2020 à 16:12:07

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        20 avril 2020 à 20:36:56

                                                        Ah, il y a bien les tables de relations ...

                                                        Il faut changer le nom de la relation dans le MCD pour que cela soit repris sur le MLD.

                                                        Par ailleurs je pense qu'il faut inverser les cardinalités item/user, socialMedia/session, settings/session.

                                                        Mais tu commences à avoir un truc bien là non ?

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                          20 avril 2020 à 21:41:26

                                                          Actuellement j'ai ceci. Mais il me manque le user_id dans l'entité item.

                                                          Changer le nom de la relation ? Je les appelerai donc session_item, session_admin et session_user ? ca fait bizarre comme relation en MCD non ?

                                                          Inverser les cardinalités j'ai mal saisi....

                                                          Sinon oui ça parait mieux

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            20 avril 2020 à 23:13:52

                                                            Tu as mis : user 1,1 --- 1,n item

                                                            C'est user 1,n --- 1,1 item

                                                            Un user peut être lié à un ou plusieurs item...

                                                            A voir aussi pour user/strings

                                                            Pour les noms de tes relations, tu fais ce que tu veux, JMerise est fait ainsi, on ne change pas le MLD ... puisqu'il peut être "écrasé" chaque fois que tu relances la génération...

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                                                              21 avril 2020 à 10:47:29

                                                              Bonjour, j'ai donc modifié la relation user item.

                                                              User / strings je ne vois pas où et celà ?

                                                              Je n'ai pas encore changé le nom des relations car je trouve que session_admin est peu parlant même si c'est le nom de la table retenu.

                                                              En parallèle ne trouves tu pas que les tables user et admin sont redondantes.

                                                              En tous les cas ca avance !

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Créer un mcd mld depuis un mpd

                                                              × 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