The table isn't normalized (lot's and lot's of nulls in holiday columns)...
The Country Name should be in a different table.
Civil and Religious Holiday's should NOT have their own columns... they are holidays. What would you do if they suddenly threw Bank Holidays at you?
Workday should not have a separate column.
If you want to normalize it and, perhaps, make it easier to update when new requirements appear, you may want to try something like this...
Date
CountryID
DayTypeID (0 for Weekend, 1 for WorkDay, others for holidays and those names would be in a DayType table including the 0 and 1 entries for DayTypeID.)
Of course, this is a lookup table and you just might want to keep it denormalized for speed... denormalization just for the sake of speed isn't normally the best idea in the world, but I don't think it'll kill you here (well, except for the wasted space :D ).
--Jeff Moden
|