Ich kenne das US-amerikanische Postleitzahlen- und Gebietsaufteilungssystem nicht gut, aber ich nehme an, es ist dem deutschen etwas ähnlich.
- Ein Staat hat viele Bezirke.
- Ein Landkreis hat viele Städte.
- Eine Stadt hat viele Postleitzahlen.
Daher würde ich das folgende Schema verwenden.
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
Behoben für mehrere Städte pro Postleitzahl.