Hi guys,
I am getting some help from plog and ginawhipp regarding my database design structure in another thread, and realized that I might need to restructure some tables too. I've attached a sample copy of my database in case anyone wants to see it in action or wants to skip the details below....here is the database setup:
This database is for a tech consulting company, and needs to keep track of their Consultants, Vendors, Task Orders, Projects, and Invoices. The company has Projects that it is working on, and each Project is subdivided into specific Task Orders. Because Consultants often continue contracting for the company once a Task Order or Project is completed and are simply assigned to a new Task Order/Project, I have separated the dynamic information (like the consultant's rate of pay) into an Assignment table so that the company can keep records of old assignments and to avoid having to constantly change Consultant records.
Since they are contractors with the company, Consultants send in invoices every month to bill for their labor and expenses. Each Task Order is allocated a certain amount of funding for labor (based off the rates of the Consultants working on that Task Order) and expenses by the client, and then the Consultants are paid from the funding pool of whichever Task Order they are assigned to. I already know that I will need to run reports which pull up how much is funded total vs how much funding has already been spent on a Consultant, Task Order, or Project basis.
Okay, so here's my dilemma: I can't figure out whether I should have a separate funding table, or if having the funding split between TaskOrderT and AssignmentT (the way it is now) is fine. TaskOrderT has 2 fields regarding funding; TOLaborFundingAmount (the total amount funded to the Task Order as a whole for labor costs) and TOTravelFundingAmount (the total amount funded to the Task Order as a whole for travel costs). AssignmentT also has 2 fields regarding funding; LaborFundingAmount (the total amount funded to the Consultant for labor on the current Task Order they're assigned to--represents a portion of TOLaborFundingAmount) and TravelFundingAmount (the total amount funded to the Consultant for travel on the current Task Order they're assigned to--represents a portion of TOTravelFundingAmount). I keep trying to think whether putting these 4 fields in their own Funding table and linking it to TaskOrderT and AssignmentT will do me any good in the end, and I just don't know. Thanks for any advice!
I am getting some help from plog and ginawhipp regarding my database design structure in another thread, and realized that I might need to restructure some tables too. I've attached a sample copy of my database in case anyone wants to see it in action or wants to skip the details below....here is the database setup:
This database is for a tech consulting company, and needs to keep track of their Consultants, Vendors, Task Orders, Projects, and Invoices. The company has Projects that it is working on, and each Project is subdivided into specific Task Orders. Because Consultants often continue contracting for the company once a Task Order or Project is completed and are simply assigned to a new Task Order/Project, I have separated the dynamic information (like the consultant's rate of pay) into an Assignment table so that the company can keep records of old assignments and to avoid having to constantly change Consultant records.
Since they are contractors with the company, Consultants send in invoices every month to bill for their labor and expenses. Each Task Order is allocated a certain amount of funding for labor (based off the rates of the Consultants working on that Task Order) and expenses by the client, and then the Consultants are paid from the funding pool of whichever Task Order they are assigned to. I already know that I will need to run reports which pull up how much is funded total vs how much funding has already been spent on a Consultant, Task Order, or Project basis.
Okay, so here's my dilemma: I can't figure out whether I should have a separate funding table, or if having the funding split between TaskOrderT and AssignmentT (the way it is now) is fine. TaskOrderT has 2 fields regarding funding; TOLaborFundingAmount (the total amount funded to the Task Order as a whole for labor costs) and TOTravelFundingAmount (the total amount funded to the Task Order as a whole for travel costs). AssignmentT also has 2 fields regarding funding; LaborFundingAmount (the total amount funded to the Consultant for labor on the current Task Order they're assigned to--represents a portion of TOLaborFundingAmount) and TravelFundingAmount (the total amount funded to the Consultant for travel on the current Task Order they're assigned to--represents a portion of TOTravelFundingAmount). I keep trying to think whether putting these 4 fields in their own Funding table and linking it to TaskOrderT and AssignmentT will do me any good in the end, and I just don't know. Thanks for any advice!