• Great points in extending the data by everyone.

    If we're working with just the tables in the question, you could replace the StateID column in the City table with a CountyID column so that the structure is:

    State2 table:

    StateID (Identity, primary key),

    Name (full state name)

    TwoLetterCode ('AL')

    County2

    CountyID (Identity, primary key),

    Name (full county name),

    StateID (from the State2 table)

    City

    CityID (Identity, primary key)

    Name (full city name),

    CountyID (from the County2 table, primary key)

    Foreign keys:

    County2.StateID to State2.StateID

    County2.CountyID to City.CountyID