I am trying to optimize how our application stores and uses location data. Right now we have a table called buildingCodes. Each row is identified by a unique building ID and stores country, state, city, and street address. Every row has country but it's kind of spotty in that we don't always have state, city, and street address. I use this table to populate drop down lists and, considering that it has over 13k records, the response is pretty slow. I'd like to break this into separate tables so that country has a countryID, state has a state and countryID, city has a cityID and stateID, etc and I'm wondering if anyone has a way to account for the records that are missing the information. Am I just going to have to put in placeholders for say, the states in India, and give them generic IDs? Pretty much stuck here, hoping someone else has run into this.