我必须以这种方式创建一个数据库来存储位置:
countries: id, name
regions: id, name, countries_id
municipality: id, name, regions_id
同一个数据库还有与这个地方相关的其他表。问题是并不总是知道市镇(最具体的位置值),有时我们只知道地区或国家。所以我们必须像这样创建其余的表:
user: id, name, municipality_id, regions_id, countries_id
由于关系中的重复,该方案存在问题。一个用户可以与一个地区和一个国家相关联,但是这个地区也与一个国家相关联。
处理这个问题的最佳方法是什么?一个可能的解决方案是这样的:
用户:id、姓名、place_table、place_id
但是这种方法不允许使用外键,查询起来有点困难。