My Requirement
I need to design a database that handles multiple time sheet formats for different clients. Some of the fields in TimeSheet are the same for some clients and different for others. Also, each client's time sheet may have unique fields. For example:
Client 1 ==> EmpID, Date, Start Time, End Time,Verifier, Supplier Name ...
Client 2 ==> EmpID, Date, No.Of Hours, Project Code, Project Manager ...
Client 3 ==> EmpID, Date, Time In, Time Out, No of Hours Worked, Verifier...
Client 4 ......................................................
Client .. ......................................................
My Query
How should I design the TimeSheet table to accommodate the existing clients or future clients that may get added (not a major concern at this point)
- Should all the fields related to all clients be in one table,
TimeSheet? - Or should I have a main table
TimeSheetwith all the common columns, and then additional tables corresponding to each client, to contain the specific fields for that client? - In case I need to have
TimeSheetchild tables for a future client who would need to have more than one entry per day specific to project tasks how should be incorporated? - Any tips on good practice?