Partage
  • Partager sur Facebook
  • Partager sur Twitter

Demande avis sur différentes relations avec entité

Sujet résolu
    15 mars 2022 à 15:30:56

    Bonjour,

    Je voudrai savoir quel est la meilleurs des 3 relations ci-dessous :

    Merci d'avance

    -
    Edité par HBX360 15 mars 2022 à 15:31:33

    • Partager sur Facebook
    • Partager sur Twitter
      15 mars 2022 à 15:34:46

      Bonjour,

      Impossible de répondre à cette question sans connaître le cahier des charges et le contexte d'application.

      En l'état, les 3 modèles ont un sens, et chacun a ses particularités qui peuvent être pertinentes.

      Peux-tu préciser ce que tu cherches à faire précisément ? Nature exacte des entités en jeu et besoin fonctionnel ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        16 mars 2022 à 19:27:00

        Je suis en train de recréer mon MCD pour des annonces de garages, voici le MCD que j'ai fait :

        Je voudrai enlevé les références circulaires. En fait ce que je recherche c'était juste savoir ce qui était le plus logique et le plus simple à mettre en oeuvre, Le plus logique pour moi se serait de faire le 1er exemple un Modèle peut avoir 1 ou plusieurs caractéristique et une caractéristique peu être lié à plusieurs modèle et ensuite une caractéristique à une et une seul valeur mais une valeur peut être utilisé avec plusieurs caractéristique.

        • Partager sur Facebook
        • Partager sur Twitter
          17 mars 2022 à 9:10:38

          Dans ton application, pour moi c'est l'annonce qui porte les valeurs de caractéristiques ? Le modèle est juste là pour "lister" les caractéristiques possibles à renseigner pour chaque modèle.

          Par simplicité je proposerai ce modèle :

          Tu aurais juste à mettre en place un contrôle en base pour assurer que l'on ne donne pas une valeur à une caractéristique non associée au modèle lié à l'annonce. Et même sans, ce ne serait pas très grave ...

          Le défaut principal ici c'est que la valeur en VARCHAR ne permet pas de gérer les différents types (dates, nombres, texte, etc.). Il faudra gérer côté applicatif un affichage discriminant ...

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            17 mars 2022 à 11:16:26

            D'accord en tout cas merci pour ta réponse.

            Je ne comprends pas pourquoi tu mes à annonce 1,1 et 0,N ? Sa ne devrais pas être juste 1,1 parce que

            une annonce ne peut proposé qu'un seul modèle. Idem pour caractéristique pourquoi mettre 2 fois 0,N ?

            Je ne sais pas ce que c'est mettre en place un contrôle en base ?

            Quel logiciel utilise tu pour faire ton MCD ?

            -
            Edité par HBX360 17 mars 2022 à 11:23:03

            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2022 à 13:29:54

              Il faut regarder les cardinalités dans les deux sens ...

              Tu as des annonces, des modèles et des caractéristiques : 3 entités = 3 tables.

              Une annonce concerne un modèle (1,1), et un modèle peut apparaître sur plusieurs annonces (1,n). Relation 1,n = clé étrangère dans la table annonce.

              Un modèle propose plusieurs caractéristiques (1,n), et une caractéristique peut être liée à plusieurs modèles (1,n). Relation n,n = table de relation.

              Une caractéristique peut être valorisée pour plusieurs annonces (1,n), et une annonce peut avoir plusieurs caractéristiques valorisées (1,n). Relation n,n = table de relation.

              HBX360 a écrit:

              Quel logiciel utilise tu pour faire ton MCD ?

              Pour des modèles complets j'utilise Looping, comme toi apparemment.

              Pour des modèles d'exemples, rapides, j'utilise MoCoDo Online.



              • 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 mars 2022 à 13:25:03

                Merci pour ta réponse.
                • Partager sur Facebook
                • Partager sur Twitter
                  19 mars 2022 à 14:53:32

                  Je me posais la question, est-ce que avec ton schéma Benzouye on a pas une référence circulaire, il me semble que c'est déconseillé ?

                  -
                  Edité par HBX360 19 mars 2022 à 14:54:17

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 mars 2022 à 19:14:21

                    Une référence circulaire c'est quand deux entités sont dépendante l'une de l'autre. Tu ne peux alors pas créer d'enregistrement dans l'une sans en créer un dans l'autre et vice versa ... bloqué...

                    Dans ma proposition il n'y a pas ce cas.

                    • 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 mars 2022 à 13:44:52

                      Ca marche. En fait je me suis trompé j'ai regardé mon cours c'est la transitivité qui est déconseillé.

                      Est-ce que le schéma que tu m'as proposé est transitif ? Dans mon cours il est dit : "La transitivité se repère lorsque que l'on peut aboutir sur la même entité en suivant des associations <1-n> différentes".

                      Mais vu que c'est des <0-N> peut-on dire que ton schéma est transitif ?

                      -
                      Edité par HBX360 21 mars 2022 à 13:54:46

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 mars 2022 à 15:59:27

                        Au sens strict mon modèle est transitif ...

                        J'avais d'ailleurs dit :

                        Benzouye a écrit:

                        Par simplicité je proposerai ce modèle

                        En précisant que :

                        Benzouye a écrit:

                        Tu aurais juste à mettre en place un contrôle en base pour assurer que l'on ne donne pas une valeur à une caractéristique non associée au modèle lié à l'annonce

                        Justement pour contrôler la transitivité ...

                        Si tu es dans un contexte d'apprentissage où la rigueur est de mise, alors il faut en effet mettre en place une modélisation plus stricte, notamment avec des identifiants relatifs empêchant la transitivité.

                        • 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 mars 2022 à 16:01:21

                          Ok merci pour ta réponse et ton aide.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Demande avis sur différentes relations avec entité

                          × 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