In classic terms:

   - World is a List of Countries unique
   - Country is a list of States in a Country one-to-many
   - States is a list of Cities in a State one-to-many
   - Names is a list of Restaurant Names unique
   - Restaurant is Country.State.City.Name Address Data, many-to-many 
   Names-to-City

A valid search may begin with the Name or the Country. Select one from the 
list of available.
If you select a Name first, the the selection of a country would be limited 
to the set that is linked to the Name.
If you select Country first then Name selection would be limited to Names 
linked to that Country And States would be limited to those linked to that 
Country and to that Name.
valid City selection would be a City linked to that State which is also 
linked to that Name.

The alternative of having the user enter all four fields at once will 
encourage searching for things not in the database and may require a data 
validation step to account for variations in spellings.

The advantage of data normalization, extremely rapid searches and very 
small memory as you need save only the id, although in modern times, you 
may not need be concerned with micro efficiency as the underlying engines 
will tend to optimise segmented index fields. 

I do like the idea of maintaining a segmented key with Country, State, City 
so that you can display intermediate results or an intermediate count of a 
large list of results.
  

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/bd23a8c7-d75f-4b6d-b8e6-97ecf3c74c97%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to