Hello.
I am trying to design a database that will allow people to add themselves to a list and specify their location. The location will either be a town, city, region ('south east') or country. The allowed values will already exist on the database.
If a user is entered in a particular 'city' then it is assumed they can travel within all 'towns' inside that city. Likewise if region was selected, they will be found under all cities, hence, all towns. They would only be listed under 1 country however.
I would like to then be able to search this database by either of the above, so 'town' will search just the selected town within it's designated city/region/country. Whereas selecting region will search within all cities and all towns associated.
My current decision;
4 static data tables;
Town/City/Region/Country
1 link table
(fields) town/city/region/country
The link would then contain a reference to all of the static data to link the towns/cities/regions together. Instances where there are no sub places (a small city) would have a default value for the next.
The people added on the database would then have a single 'location' ID which refers to a link table which states field/ID. e.g. 'field=region', 'ID=6'
Could you please check this and let me know if my current design is sensible? I want this to be fast & efficient as opposed to just working, its tricky as I'm still learning.
Please advise,
Thank you very much for your time!