Какой будет оптимальная структура таблиц БД в моем случае?
Три таблицы: одна с городами, другая с магазинами, третья с продуктами. 
+ Таблицы связей: 
1) магазины в городах в формате:
city_id | store_id
---------------------
2) еда в магазинах:
store_id |  food_id
----------------------
Таблица с Городами city
Таблица с Магазинами store
Таблица с Продуктами food
Таблица с ценами на продукты pice: city_id, store_id, food_id, price.
city-pice, store-pice, food-pice - связь один ко многим.