I'm starting to code time tracking application to replace the monthly excel sheets my company is requiring. Its purpose is standard : to centralize all data about the time spent by different(or same) person(s) on different(or same) projects on a server. According to the following use case, I'm wondering what is the best way to design and create a database for this application ?.
I've prepared some requirements like this use case which shows the detail that are provided by a worker:
In addition, customers are able to provide comments related to any project or any person.
While I'm experimented with coding (Qt/C++ here) I'm a beginner for DB related topics. This question is close to : this one and this one as well but I'm wondering if it's not possible to improve the way to save all periods related to time ranges as they may be fragmented like in the scenario up in the picture. This would imply to save multiple date for working days : 1->3 + 5->6 etc... So as a side question : does it make sense to save this time range as a binary value, so for each working day in a month a 32 bits would be represented as a '1' bit ?