op
its not that there should be no duplication of dates. obviously more than 1 event could happen on july 1st.
what is important is that if the date is dependent on something else, then storing the date is redundant.
so you could have something with a start date, end date and duration
now you dont need to store all 3 of these, since you can work out the third from the other two. and indeed if the duration is always the same, then you only need to store the start date.
that's what normalisation is getting at. Split your data into relevant entities, and store each individual datum in the appropriate entity. And if you find that you have repeating data, (or problems with data dependencies) then redesign to remove it.
----------------
so in your example - is the post code, the post code for the shop - if so THATS what you need to take out
then you get
shop table (shopid, post code, store name, address, phone number, manager etc etc)
(the shop id is an artificial entity to make things easier later)
delivery table (date, shopid)
------------
now - consider further - do you actually have delivery routes, taking in a number of shops
in which case you might want
route table (routeid, date, routenumber)
(the route id is an artificial entity to make things easier later)
route details (routeid, shopid, droporder, deliveryresult)
(ie all the stores delivered to on the selected route)
--------------
so now you have a route consisiting of a number of shops visited - and the route table stores the date of the visit - and now you can add things like time spent, distance covered, vehicle used, vehicle driver etc - all to the route table - so for each route, you store the data only once
now if the drop order is significant (as it normally is) then you can store the drop order in the route details table. and if you want to record details of the delivery result (success, failure code) this belongs in the route details table.
so heres an example - you can either store the total distance for the whole route, in the route table - or you can store the distance for each drop in the route detail table - but you probably shouldnt store both, as the total can be derived by adding the details - and is therefore redundant. even so, if its data you need regularly, some designers may take a considered decision to store the totals regardless.
hope this helps