gpt4 book ai didi

database - 在关系数据库中存储地理信息的最佳方式是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:37 25 4
gpt4 key购买 nike

我想将地理数据保存在关系数据库中,并能够根据其位置(国家、州或类似而非坐标)查询数据。

我当前的解决方案是在我的表中添加 4 个额外字段(我感兴趣的所有国家/地区都有 2 或 3 个行政区划)并根据字符串进行过滤。但我意识到这是一个糟糕的解决方案,并希望规范化我的表格。

我还将使用该数据来确定我的用户想要访问哪个页面,因此查找像“/usa/california/san_fransisco/...”这样的请求必须很简单

我能想到的唯一其他解决方案是将这 4 个额外字段存储在另一个表中,并将它们与外键链接,但这仍然意味着一些数据重复,因为国家/地区名称会在分配的行中重复。

有更好的方法吗?

最佳答案

规范化绝对是必经之路。数据库旨在以这种方式运行。是的,查询可能看起来很长,但还不错。它可能看起来像这样:

select * --or whatever fields you need
from Customer
left outer join City on (Customers.CityID = City.CityID)
left outer join State on (City.StateID = State.StateID)
left outer join Country on (State.CountryID = Country.CountryID)
where CustomerID = 1234

关于database - 在关系数据库中存储地理信息的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com