Não conheço bem o código postal dos EUA e o sistema de divisão territorial, mas presumo que seja um pouco parecido com o alemão.
- Um estado tem muitos condados.
- Um condado tem muitas cidades.
- Uma cidade tem muitos códigos postais.
Portanto, eu usaria o seguinte esquema.
ZipCodes CityZipCodes ------------ ---------------- Cities ZipCode (PK) <─── ZipCode (PK)(FK) ----------- City (PK)(FK) ───> CityId (PK) Name County (FK) ───┐ │ │ Counties │ ------------- │ States CountyId (PK) <───┘ ----------------- Name StateId (PK) <─── State (FK) Name Abbreviation
Corrigido para várias cidades por CEP.