Does Inheritance Make Sense with This Requirement (Oracle)












0















I'm using Oracle 12c. Given an existing table (we call it TBL_M), and based on the criteria below, I was wondering if using inheritance makes sense to lay out the entities:



Information for one group of data (we call it Group One):



RATE
AMOUNT
FREQUENCY


And information for another group of data (we call it Group Two):



RATE
AMOUNT
FREQUENCY
DEPTH


So the fields needed for this become:



TBL_P



TBL_P_ID
RATE
AMOUNT
FREQUENCY
TBL_M_ID (fk)


TBL_C



TBL_C_ID
DEPTH
TBL_P_ID (fk)


For Group Two, every time we want to make an entry, we populate both tables (TBL_P and TBL_C). However, when the information is for Group One, TBL_P.TBL_M_ID is going to be set to NULL redundantly.



Would it be more efficient to split this into two separate tables, one for Group One, and the other for Group Two? e.g.



TBL_ONE



TBL_ONE_ID
RATE
AMOUNT
FREQUENCY
TBL_M_ID (fk)


TBL_TWO



TBL_TWO_ID
RATE
AMOUNT
FREQUENCY
DEPTH
TBL_M_ID (fk)








share







New contributor




NuCradle 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 using Oracle 12c. Given an existing table (we call it TBL_M), and based on the criteria below, I was wondering if using inheritance makes sense to lay out the entities:



    Information for one group of data (we call it Group One):



    RATE
    AMOUNT
    FREQUENCY


    And information for another group of data (we call it Group Two):



    RATE
    AMOUNT
    FREQUENCY
    DEPTH


    So the fields needed for this become:



    TBL_P



    TBL_P_ID
    RATE
    AMOUNT
    FREQUENCY
    TBL_M_ID (fk)


    TBL_C



    TBL_C_ID
    DEPTH
    TBL_P_ID (fk)


    For Group Two, every time we want to make an entry, we populate both tables (TBL_P and TBL_C). However, when the information is for Group One, TBL_P.TBL_M_ID is going to be set to NULL redundantly.



    Would it be more efficient to split this into two separate tables, one for Group One, and the other for Group Two? e.g.



    TBL_ONE



    TBL_ONE_ID
    RATE
    AMOUNT
    FREQUENCY
    TBL_M_ID (fk)


    TBL_TWO



    TBL_TWO_ID
    RATE
    AMOUNT
    FREQUENCY
    DEPTH
    TBL_M_ID (fk)








    share







    New contributor




    NuCradle 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 using Oracle 12c. Given an existing table (we call it TBL_M), and based on the criteria below, I was wondering if using inheritance makes sense to lay out the entities:



      Information for one group of data (we call it Group One):



      RATE
      AMOUNT
      FREQUENCY


      And information for another group of data (we call it Group Two):



      RATE
      AMOUNT
      FREQUENCY
      DEPTH


      So the fields needed for this become:



      TBL_P



      TBL_P_ID
      RATE
      AMOUNT
      FREQUENCY
      TBL_M_ID (fk)


      TBL_C



      TBL_C_ID
      DEPTH
      TBL_P_ID (fk)


      For Group Two, every time we want to make an entry, we populate both tables (TBL_P and TBL_C). However, when the information is for Group One, TBL_P.TBL_M_ID is going to be set to NULL redundantly.



      Would it be more efficient to split this into two separate tables, one for Group One, and the other for Group Two? e.g.



      TBL_ONE



      TBL_ONE_ID
      RATE
      AMOUNT
      FREQUENCY
      TBL_M_ID (fk)


      TBL_TWO



      TBL_TWO_ID
      RATE
      AMOUNT
      FREQUENCY
      DEPTH
      TBL_M_ID (fk)








      share







      New contributor




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












      I'm using Oracle 12c. Given an existing table (we call it TBL_M), and based on the criteria below, I was wondering if using inheritance makes sense to lay out the entities:



      Information for one group of data (we call it Group One):



      RATE
      AMOUNT
      FREQUENCY


      And information for another group of data (we call it Group Two):



      RATE
      AMOUNT
      FREQUENCY
      DEPTH


      So the fields needed for this become:



      TBL_P



      TBL_P_ID
      RATE
      AMOUNT
      FREQUENCY
      TBL_M_ID (fk)


      TBL_C



      TBL_C_ID
      DEPTH
      TBL_P_ID (fk)


      For Group Two, every time we want to make an entry, we populate both tables (TBL_P and TBL_C). However, when the information is for Group One, TBL_P.TBL_M_ID is going to be set to NULL redundantly.



      Would it be more efficient to split this into two separate tables, one for Group One, and the other for Group Two? e.g.



      TBL_ONE



      TBL_ONE_ID
      RATE
      AMOUNT
      FREQUENCY
      TBL_M_ID (fk)


      TBL_TWO



      TBL_TWO_ID
      RATE
      AMOUNT
      FREQUENCY
      DEPTH
      TBL_M_ID (fk)






      oracle database-design oracle-12c inheritance





      share







      New contributor




      NuCradle 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




      NuCradle 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




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









      asked 8 mins ago









      NuCradleNuCradle

      1




      1




      New contributor




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





      New contributor





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






      NuCradle 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
          });


          }
          });






          NuCradle 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%2f233703%2fdoes-inheritance-make-sense-with-this-requirement-oracle%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








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










          draft saved

          draft discarded


















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













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












          NuCradle 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%2f233703%2fdoes-inheritance-make-sense-with-this-requirement-oracle%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

          SQL Server 17 - Attemping to backup to remote NAS but Access is denied

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

          Restoring from pg_dump with foreign key constraints