I'm wondering if anyone knows where Google gets their zip code information from? Do they rely on City/Zip information from the United States Postal Service or do they get this information through some other source?

The reason I ask is because I've noticed in the zip code finder on USPS.com that certain suburban zip codes are actually more closely associated with the nearby major city, and not the suburb.

For example, when searching for cities associated with certain suburban zip codes, the USPS search results state:
"The preferred city for [zip code] is [Major City]. Other acceptable cities for [zip code] are [list of suburbs].

I have a business located in a suburb, but wants to rank well for the major city. Should I use the actual suburban name where they are located OR can I use the major city name for that business?