On Wed, 05 Aug 2009 22:18:31 +0300, Shawn McKenzie <nos...@mckenzies.net> wrote:

So, obviously not PHP related, but I'm looking for thoughts on the best
way to record time sheets in a DB.  A time sheet for hours worked per
day, not like a time clock where you start and stop.

The two possibilities that I have thought of are (these are simplistic,
of course I'll be storing references to the user, the project code etc.):

1. One record for each 7 day week (year, week_num, d1, d2, d3, d4, d5,
d6, d7) where the dX field holds the hours worked
2. One record for each day (date, hours)

In simpliest scenarios, it is better to use first approach.
it is best in terms of simplicity, usage, space consumption.

in case if you need to store extra information about hours (at which location, at which time started, etc, ), then it might be better to split it to following tbles:

1. Time sheet.
All basic information about sheet: user, year, week number, etc. whatever you need.
Just add unique id of this timesheet
Here you can also add cached version of hours per day.

2. Day information:
timesheetId, dayId(1-7),  hours, a lot of extra fields for this day.

Of course, this is applicable only if you have a lot of extra information for each day.
If not, then use easiet approach.


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to