More than one path between M-M tables The 2019 Stack Overflow Developer Survey Results Are In

Ubuntu Server install with full GUI

Have you ever entered Singapore using a different passport or name?

Why did Acorn's A3000 have red function keys?

Why do we hear so much about the Trump administration deciding to impose and then remove tariffs?

Can a flute soloist sit?

Origin of "cooter" meaning "vagina"

If a Druid sees an animal’s corpse, can they Wild Shape into that animal?

Did Scotland spend $250,000 for the slogan "Welcome to Scotland"?

Is an up-to-date browser secure on an out-of-date OS?

Can you compress metal and what would be the consequences?

Looking for Correct Greek Translation for Heraclitus

Is there a symbol for a right arrow with a square in the middle?

Why hard-Brexiteers don't insist on a hard border to prevent illegal immigration after Brexit?

Which Sci-Fi work first showed weapon of galactic-scale mass destruction?

Button changing it's text & action. Good or terrible?

Did 3000BC Egyptians use meteoric iron weapons?

Why can Shazam fly?

What does ひと匙 mean in this manga and has it been used colloquially?

What is the most effective way of iterating a std::vector and why?

Multiply Two Integer Polynomials

What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?

Am I thawing this London Broil safely?

How to manage monthly salary

Should I use my personal e-mail address, or my workplace one, when registering to external websites for work purposes?



More than one path between M-M tables



The 2019 Stack Overflow Developer Survey Results Are In





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







0















I'm trying to figure out if it is bad practice to have more than one path between tables that are related via many-to-many relationships.



I have 3 user-facing tables: Dupe, Cue, and Take. There is a many-to-many relationship between Dupes and Cues, and there is a many-to-many relationship between Takes and the join table Dupe_Cues.



database schema diagram



The user can add, delete, and modify Cues, Dupes and Takes, and she can make links between Cues/Dupes and Cues/Takes, but there are also certain situations when the user will want to directly add a Take to a Dupe, without creating a cue. So I figure the simplest thing to do is create a Dupe_Take table. The problem is, I'm worried it will cause referential issues and isn't good database design.



If I don't create a Dupe_Take table, I suppose I could add a field to the Cue table, like "b_CreatedByUser". Then, whenever the user does a query, I filter out Cues where b_CreatedByUser=FALSE so that Cues that are only used to link Takes to Dupes are never shown to the user, but that sounds sloppy and difficult to maintain.



What is the best practice? What factors should I be considering?



Thanks for any advice.









share







New contributor




slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



























    0















    I'm trying to figure out if it is bad practice to have more than one path between tables that are related via many-to-many relationships.



    I have 3 user-facing tables: Dupe, Cue, and Take. There is a many-to-many relationship between Dupes and Cues, and there is a many-to-many relationship between Takes and the join table Dupe_Cues.



    database schema diagram



    The user can add, delete, and modify Cues, Dupes and Takes, and she can make links between Cues/Dupes and Cues/Takes, but there are also certain situations when the user will want to directly add a Take to a Dupe, without creating a cue. So I figure the simplest thing to do is create a Dupe_Take table. The problem is, I'm worried it will cause referential issues and isn't good database design.



    If I don't create a Dupe_Take table, I suppose I could add a field to the Cue table, like "b_CreatedByUser". Then, whenever the user does a query, I filter out Cues where b_CreatedByUser=FALSE so that Cues that are only used to link Takes to Dupes are never shown to the user, but that sounds sloppy and difficult to maintain.



    What is the best practice? What factors should I be considering?



    Thanks for any advice.









    share







    New contributor




    slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I'm trying to figure out if it is bad practice to have more than one path between tables that are related via many-to-many relationships.



      I have 3 user-facing tables: Dupe, Cue, and Take. There is a many-to-many relationship between Dupes and Cues, and there is a many-to-many relationship between Takes and the join table Dupe_Cues.



      database schema diagram



      The user can add, delete, and modify Cues, Dupes and Takes, and she can make links between Cues/Dupes and Cues/Takes, but there are also certain situations when the user will want to directly add a Take to a Dupe, without creating a cue. So I figure the simplest thing to do is create a Dupe_Take table. The problem is, I'm worried it will cause referential issues and isn't good database design.



      If I don't create a Dupe_Take table, I suppose I could add a field to the Cue table, like "b_CreatedByUser". Then, whenever the user does a query, I filter out Cues where b_CreatedByUser=FALSE so that Cues that are only used to link Takes to Dupes are never shown to the user, but that sounds sloppy and difficult to maintain.



      What is the best practice? What factors should I be considering?



      Thanks for any advice.









      share







      New contributor




      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I'm trying to figure out if it is bad practice to have more than one path between tables that are related via many-to-many relationships.



      I have 3 user-facing tables: Dupe, Cue, and Take. There is a many-to-many relationship between Dupes and Cues, and there is a many-to-many relationship between Takes and the join table Dupe_Cues.



      database schema diagram



      The user can add, delete, and modify Cues, Dupes and Takes, and she can make links between Cues/Dupes and Cues/Takes, but there are also certain situations when the user will want to directly add a Take to a Dupe, without creating a cue. So I figure the simplest thing to do is create a Dupe_Take table. The problem is, I'm worried it will cause referential issues and isn't good database design.



      If I don't create a Dupe_Take table, I suppose I could add a field to the Cue table, like "b_CreatedByUser". Then, whenever the user does a query, I filter out Cues where b_CreatedByUser=FALSE so that Cues that are only used to link Takes to Dupes are never shown to the user, but that sounds sloppy and difficult to maintain.



      What is the best practice? What factors should I be considering?



      Thanks for any advice.







      referential-integrity many-to-many





      share







      New contributor




      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 3 mins ago









      slondikeslondike

      1




      1




      New contributor




      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      slondike is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "182"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          slondike is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f234517%2fmore-than-one-path-between-m-m-tables%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          slondike is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          slondike is a new contributor. Be nice, and check out our Code of Conduct.













          slondike is a new contributor. Be nice, and check out our Code of Conduct.












          slondike is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Database Administrators Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f234517%2fmore-than-one-path-between-m-m-tables%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

          Always On Availability groups resolving state after failover - Remote harden of transaction...

          Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...