I want to create a database driven website in Mysql for small businesses that can be accessed by the public. They will search on business type (hairdresser, plumber etc.) and postcode to find a business near their home.

Each business could have many postcodes that they would service, (i.e. servicepostcode1, servicepostcode2, etc) and many businesses would be listed under several business types: bustype1, bustype2, bustype3 (i.e. plumber, drainer, gasfitter)

And many businesses will service the whole city

The flat database could look like:
BUSINESS (ID, name, address1, address2, postcode, phone, etc, servicepostcode1, servicepostcode2, ... servicepostcode'n', bustype1, bustype2, bustype3, bustype4)

I don't know how to normalise this database to avoid repeatedly
entering postcodes and business types.

Can anybody help a very new member of this forum?

Thank you all

Peter