• I'm just some guy, but it seems that the answer depends on the specifics of your situation.

    A week will always have the same 7 days in it. That's not going to change. So I wouldn't particularly have a problem with creating a row column for each of those days as in your second example.

    But if you think your situation will change from needing a simple yes/no per employee per day, then you would know that better than I would, and should design with that in mind.

    I think your second example has the capability to handle that type of situation, however. Say you changed each of the "day" columns from a BIT to a TINYINT with an allowed value of 1-24, defaulting perhaps to 8. Then you could record how many hours each employee works each day.

    If you need to allow for multiple "shifts" per employee per day, then you need to separate it out into its own table. But otherwise, I'd say separating it out--and using triggers and having to make inferences based on the absence of data--would be a mess.


    "If I had been drinking out of that toilet, I might have been killed." -Ace Ventura