Hi guys,
I am brand new to Access and relational databases in general and am trying to learn how to do everything independently, so forgive me if I struggle with some of the more technical terms or if I miss something that seems really obvious. I have been working on this database for a while now, and I keep running into issues with a variety of things. Before I go any further trying to resolve my other issues, I thought it might be good to see if anyone is willing to check my design and let me know if something should be changed.
This database is for a tech consulting company, and needs to keep track of their Consultants, Vendors, Task Orders, Projects, and Invoices. The tricky part is some of the relationships: some Consultants are also their own Vendors (meaning information like the email address, phone number, and address are the same for both), then there are also some Consultants with different Vendor info but the company still only has one Consultant for a given Vendor, and also there are Vendors that provide multiple Consultants to the company. Because of this, I have separated Email, Phone Number, and Address into their own tables so that the user can assign the same value to a Consultant and a Vendor if needed without repeating data.
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.
Hopefully I have provided enough information here that someone else who looks at my database can see my design logic. Please, if anyone has suggestions/improvements/questions, let me know! Thank you to anyone who is willing to give me some advice
I am brand new to Access and relational databases in general and am trying to learn how to do everything independently, so forgive me if I struggle with some of the more technical terms or if I miss something that seems really obvious. I have been working on this database for a while now, and I keep running into issues with a variety of things. Before I go any further trying to resolve my other issues, I thought it might be good to see if anyone is willing to check my design and let me know if something should be changed.
This database is for a tech consulting company, and needs to keep track of their Consultants, Vendors, Task Orders, Projects, and Invoices. The tricky part is some of the relationships: some Consultants are also their own Vendors (meaning information like the email address, phone number, and address are the same for both), then there are also some Consultants with different Vendor info but the company still only has one Consultant for a given Vendor, and also there are Vendors that provide multiple Consultants to the company. Because of this, I have separated Email, Phone Number, and Address into their own tables so that the user can assign the same value to a Consultant and a Vendor if needed without repeating data.
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.
Hopefully I have provided enough information here that someone else who looks at my database can see my design logic. Please, if anyone has suggestions/improvements/questions, let me know! Thank you to anyone who is willing to give me some advice