professional services (consultants) resource allocation systemMySQL data modeling helpApplication with...

Which RAF squadrons and aircraft types took part in the bombing of Berlin on the 25th of August 1940?

What is the difference between "...", '...', $'...', and $"..." quotes?

What can I do to encourage my players to use their consumables?

How big is a framed opening for a door relative to the finished door opening width?

Critique vs nitpicking

Is there a file that always exists and a 'normal' user can't lstat it?

Website seeing my Facebook data?

Will rerolling initiative each round stop meta-gaming about initiative?

Calculate of total length of edges in Voronoi diagram

Why do neural networks need so many training examples to perform?

How do you get out of your own psychology to write characters?

Why did Luke use his left hand to shoot?

What's this assembly doing?

Broad Strokes - missing letter riddle

What senses are available to a corpse subjected to a Speak with Dead spell?

Does Skippy chunky peanut butter contain trans fat?

Is `Object` a function in javascript?

In harmony: key or the flow?

Possible issue with my W4 and tax return

Plausible reason to leave the Solar System?

Why is 'diphthong' pronounced the way it is?

Non-Cancer terminal illness that can affect young (age 10-13) girls?

Plausible reason for gold-digging ant

Translation needed for 130 years old church document



professional services (consultants) resource allocation system


MySQL data modeling helpApplication with “configurable” columns : how to model thisCustom calendar for calculating workdays per monthDB Schema for TimesheetStoring resource information efficientlyHow can I get dates that wrap around new year from non-datetime columns?Next quarter without using Quarter functionPerformance - Database queries for range of datesSchema For Slot Booking SystemERD Design issue - general/central projects table













1















I am developing a resource allocation system using PHP and mysql. I have consultants and projects and I need to allocate the consultants on to various projects for various periods of time on various dates.



There are three types of allocation options.




  1. Straight forward allocation where a consultant is assigned to a project from Jan 1 to July 1st.

  2. Multiple allocations, where a consultant will work on the same projects on random dates. Like Jan 1st to Jan 15th, than March 1st to 31st March and finally June 15th to July 1st.

  3. Recurring assignments, where there is a start date and the end date and a consultant is working Monday and Tuesday for 6 months on one project and Wednesday, Thursday and Friday on another project for 3 or 6 months whatever.


Here is what I have done so far.




  • I have a user table which contains all the consultants.

  • I have a project table which contains the projects.

  • I have an assignment table that contains the information about which
    consultant is working on which project. It also contains the starting and end date of the assignment

  • Now I have a fourth table - assignment_days. This contains the data of which days/dates the consultant is working on a project.


Here is my problem. I am thinking of saving all the days/dates in this table. This table contains: id, assignmentid, projectid, consultantid, dates/days and completed. So if there is an assignment for 6 months than I will insert 182 days/dates (records) in this table.
I am not sure if I am doing it correctly or if it is the most efficient way to do it. If this is not the way to do it. Can you suggest a different solution?



And here is the final output i am trying to achieve
enter image description here



This is the list of all the Mondays dates from today onwards for 6 months (which will go to 12 months eventually). It has a number of days a consultant is working on a particular project and at the bottom is the percent allocation or utilization of a resource in a week.



I sure can use someone elses point of view here.



Thanks.










share|improve this question














bumped to the homepage by Community 16 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.




















    1















    I am developing a resource allocation system using PHP and mysql. I have consultants and projects and I need to allocate the consultants on to various projects for various periods of time on various dates.



    There are three types of allocation options.




    1. Straight forward allocation where a consultant is assigned to a project from Jan 1 to July 1st.

    2. Multiple allocations, where a consultant will work on the same projects on random dates. Like Jan 1st to Jan 15th, than March 1st to 31st March and finally June 15th to July 1st.

    3. Recurring assignments, where there is a start date and the end date and a consultant is working Monday and Tuesday for 6 months on one project and Wednesday, Thursday and Friday on another project for 3 or 6 months whatever.


    Here is what I have done so far.




    • I have a user table which contains all the consultants.

    • I have a project table which contains the projects.

    • I have an assignment table that contains the information about which
      consultant is working on which project. It also contains the starting and end date of the assignment

    • Now I have a fourth table - assignment_days. This contains the data of which days/dates the consultant is working on a project.


    Here is my problem. I am thinking of saving all the days/dates in this table. This table contains: id, assignmentid, projectid, consultantid, dates/days and completed. So if there is an assignment for 6 months than I will insert 182 days/dates (records) in this table.
    I am not sure if I am doing it correctly or if it is the most efficient way to do it. If this is not the way to do it. Can you suggest a different solution?



    And here is the final output i am trying to achieve
    enter image description here



    This is the list of all the Mondays dates from today onwards for 6 months (which will go to 12 months eventually). It has a number of days a consultant is working on a particular project and at the bottom is the percent allocation or utilization of a resource in a week.



    I sure can use someone elses point of view here.



    Thanks.










    share|improve this question














    bumped to the homepage by Community 16 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.


















      1












      1








      1








      I am developing a resource allocation system using PHP and mysql. I have consultants and projects and I need to allocate the consultants on to various projects for various periods of time on various dates.



      There are three types of allocation options.




      1. Straight forward allocation where a consultant is assigned to a project from Jan 1 to July 1st.

      2. Multiple allocations, where a consultant will work on the same projects on random dates. Like Jan 1st to Jan 15th, than March 1st to 31st March and finally June 15th to July 1st.

      3. Recurring assignments, where there is a start date and the end date and a consultant is working Monday and Tuesday for 6 months on one project and Wednesday, Thursday and Friday on another project for 3 or 6 months whatever.


      Here is what I have done so far.




      • I have a user table which contains all the consultants.

      • I have a project table which contains the projects.

      • I have an assignment table that contains the information about which
        consultant is working on which project. It also contains the starting and end date of the assignment

      • Now I have a fourth table - assignment_days. This contains the data of which days/dates the consultant is working on a project.


      Here is my problem. I am thinking of saving all the days/dates in this table. This table contains: id, assignmentid, projectid, consultantid, dates/days and completed. So if there is an assignment for 6 months than I will insert 182 days/dates (records) in this table.
      I am not sure if I am doing it correctly or if it is the most efficient way to do it. If this is not the way to do it. Can you suggest a different solution?



      And here is the final output i am trying to achieve
      enter image description here



      This is the list of all the Mondays dates from today onwards for 6 months (which will go to 12 months eventually). It has a number of days a consultant is working on a particular project and at the bottom is the percent allocation or utilization of a resource in a week.



      I sure can use someone elses point of view here.



      Thanks.










      share|improve this question














      I am developing a resource allocation system using PHP and mysql. I have consultants and projects and I need to allocate the consultants on to various projects for various periods of time on various dates.



      There are three types of allocation options.




      1. Straight forward allocation where a consultant is assigned to a project from Jan 1 to July 1st.

      2. Multiple allocations, where a consultant will work on the same projects on random dates. Like Jan 1st to Jan 15th, than March 1st to 31st March and finally June 15th to July 1st.

      3. Recurring assignments, where there is a start date and the end date and a consultant is working Monday and Tuesday for 6 months on one project and Wednesday, Thursday and Friday on another project for 3 or 6 months whatever.


      Here is what I have done so far.




      • I have a user table which contains all the consultants.

      • I have a project table which contains the projects.

      • I have an assignment table that contains the information about which
        consultant is working on which project. It also contains the starting and end date of the assignment

      • Now I have a fourth table - assignment_days. This contains the data of which days/dates the consultant is working on a project.


      Here is my problem. I am thinking of saving all the days/dates in this table. This table contains: id, assignmentid, projectid, consultantid, dates/days and completed. So if there is an assignment for 6 months than I will insert 182 days/dates (records) in this table.
      I am not sure if I am doing it correctly or if it is the most efficient way to do it. If this is not the way to do it. Can you suggest a different solution?



      And here is the final output i am trying to achieve
      enter image description here



      This is the list of all the Mondays dates from today onwards for 6 months (which will go to 12 months eventually). It has a number of days a consultant is working on a particular project and at the bottom is the percent allocation or utilization of a resource in a week.



      I sure can use someone elses point of view here.



      Thanks.







      mysql database-design php






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 29 '15 at 10:46









      Farid SiddiquiFarid Siddiqui

      61




      61





      bumped to the homepage by Community 16 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 16 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
























          2 Answers
          2






          active

          oldest

          votes


















          1














          Google "open source project management software" - I got 49 million hits. There appear to be interesting options here, here and here.



          There is very little that is truly original in software. What I would advise you to do is to download (a few of the) projects which look interesting, then check out their data models - that's the beauty of Open Source - look at the ideas of others and then adapt them to your own particular situation.



          Many of the projects appear to be right up your alley, with many time assignment and/or management options which appear to be the core of your question.






          share|improve this answer































            0














            Here's a model that I think would work for you problem.



            enter image description here



            For assignments that take place for all week days, you can create one row in AssignmentDay per WeekDay for that Assignment.



            I'll create an example scenario and sample data to explain:



            Jim (idUser=1) is working on the American Express project (idProject=1) every day between Jan 1st and Feb 15th, then every Tuesday and Thursday between March 20th and May 12th. He is also working on the ISLCBS Retail Banking project (idProject=2) on Monday, Wednesday, and Friday between March 20th and May 12th



            Sample Data:
            enter image description here



            Like Vérace said, you may just want to use an existing solution to save time.






            share|improve this answer























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


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f99117%2fprofessional-services-consultants-resource-allocation-system%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              Google "open source project management software" - I got 49 million hits. There appear to be interesting options here, here and here.



              There is very little that is truly original in software. What I would advise you to do is to download (a few of the) projects which look interesting, then check out their data models - that's the beauty of Open Source - look at the ideas of others and then adapt them to your own particular situation.



              Many of the projects appear to be right up your alley, with many time assignment and/or management options which appear to be the core of your question.






              share|improve this answer




























                1














                Google "open source project management software" - I got 49 million hits. There appear to be interesting options here, here and here.



                There is very little that is truly original in software. What I would advise you to do is to download (a few of the) projects which look interesting, then check out their data models - that's the beauty of Open Source - look at the ideas of others and then adapt them to your own particular situation.



                Many of the projects appear to be right up your alley, with many time assignment and/or management options which appear to be the core of your question.






                share|improve this answer


























                  1












                  1








                  1







                  Google "open source project management software" - I got 49 million hits. There appear to be interesting options here, here and here.



                  There is very little that is truly original in software. What I would advise you to do is to download (a few of the) projects which look interesting, then check out their data models - that's the beauty of Open Source - look at the ideas of others and then adapt them to your own particular situation.



                  Many of the projects appear to be right up your alley, with many time assignment and/or management options which appear to be the core of your question.






                  share|improve this answer













                  Google "open source project management software" - I got 49 million hits. There appear to be interesting options here, here and here.



                  There is very little that is truly original in software. What I would advise you to do is to download (a few of the) projects which look interesting, then check out their data models - that's the beauty of Open Source - look at the ideas of others and then adapt them to your own particular situation.



                  Many of the projects appear to be right up your alley, with many time assignment and/or management options which appear to be the core of your question.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 29 '15 at 11:11









                  VéraceVérace

                  16.1k33550




                  16.1k33550

























                      0














                      Here's a model that I think would work for you problem.



                      enter image description here



                      For assignments that take place for all week days, you can create one row in AssignmentDay per WeekDay for that Assignment.



                      I'll create an example scenario and sample data to explain:



                      Jim (idUser=1) is working on the American Express project (idProject=1) every day between Jan 1st and Feb 15th, then every Tuesday and Thursday between March 20th and May 12th. He is also working on the ISLCBS Retail Banking project (idProject=2) on Monday, Wednesday, and Friday between March 20th and May 12th



                      Sample Data:
                      enter image description here



                      Like Vérace said, you may just want to use an existing solution to save time.






                      share|improve this answer




























                        0














                        Here's a model that I think would work for you problem.



                        enter image description here



                        For assignments that take place for all week days, you can create one row in AssignmentDay per WeekDay for that Assignment.



                        I'll create an example scenario and sample data to explain:



                        Jim (idUser=1) is working on the American Express project (idProject=1) every day between Jan 1st and Feb 15th, then every Tuesday and Thursday between March 20th and May 12th. He is also working on the ISLCBS Retail Banking project (idProject=2) on Monday, Wednesday, and Friday between March 20th and May 12th



                        Sample Data:
                        enter image description here



                        Like Vérace said, you may just want to use an existing solution to save time.






                        share|improve this answer


























                          0












                          0








                          0







                          Here's a model that I think would work for you problem.



                          enter image description here



                          For assignments that take place for all week days, you can create one row in AssignmentDay per WeekDay for that Assignment.



                          I'll create an example scenario and sample data to explain:



                          Jim (idUser=1) is working on the American Express project (idProject=1) every day between Jan 1st and Feb 15th, then every Tuesday and Thursday between March 20th and May 12th. He is also working on the ISLCBS Retail Banking project (idProject=2) on Monday, Wednesday, and Friday between March 20th and May 12th



                          Sample Data:
                          enter image description here



                          Like Vérace said, you may just want to use an existing solution to save time.






                          share|improve this answer













                          Here's a model that I think would work for you problem.



                          enter image description here



                          For assignments that take place for all week days, you can create one row in AssignmentDay per WeekDay for that Assignment.



                          I'll create an example scenario and sample data to explain:



                          Jim (idUser=1) is working on the American Express project (idProject=1) every day between Jan 1st and Feb 15th, then every Tuesday and Thursday between March 20th and May 12th. He is also working on the ISLCBS Retail Banking project (idProject=2) on Monday, Wednesday, and Friday between March 20th and May 12th



                          Sample Data:
                          enter image description here



                          Like Vérace said, you may just want to use an existing solution to save time.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered May 1 '15 at 21:37









                          Joe BoryskoJoe Borysko

                          36127




                          36127






























                              draft saved

                              draft discarded




















































                              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%2f99117%2fprofessional-services-consultants-resource-allocation-system%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

                              Szabolcs (Ungheria) Altri progetti | Menu di navigazione48°10′14.56″N 21°29′33.14″E /...

                              Discografia di Klaus Schulze Indice Album in studio | Album dal vivo | Singoli | Antologie | Colonne...

                              How to make inet_server_addr() return localhost in spite of ::1/128RETURN NEXT in Postgres FunctionConnect to...