When defining datatypes in a database, I have always had a problem with choosing whether to use integers or strings to store certain \'numerical\' data.
Say I am bui
I always use the following rule:
If you plan on performing mathematical calculations on it (adding/subtracting/etc) make it an integer or other numerical data type.
If you do not plan on performing any types of mathematical calculations on the field, store it as a string.
In the instance of Zip codes, you should never have a time where you need to add to a zip code, or subtract, or multiply two zip codes together. Mathematical functions generally are not used on ZIP codes because they are used as identifiers and not quantities. Therefore you should store your zip code as a string datatype