I'd suggest nearly the same approach that andrewst did. I'd leave the primary key as it is, but I'd add (Employeenumber, week, day, shift) as a Cadidate or Alternate Key. That will prevent duplicated entries for those columns, express a bit more information for the optimizer to use about your table, but still provide the simplicity and efficiency of a single column primary key.
Just an observation, but I'd double check your column names to ensure that they aren't reserved words by either your database engine language or your likely choices for programming languages. The words "week" and "day" are reserved in many languages, and "shift" is reserved in some of them. While most languages allow you to work around problems like this, there is no point in designing something so that it causes you problems from the start!
-PatP