关闭。这个问题是基于意见的。它目前不接受答案。**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
两年前关门了。改进这个问题在数据库中存储位置数据的最佳方法是什么?有外键关系的国家、州、城市的单独表格。或者是一张table。
kuuvgm7e1#
这完全取决于您的问题、所使用的上下文和您想要处理的数据,但一般来说,就数据库而言,它们是分开的,因为一个国家包含多个州,州由一个(州代码、名称、人数、位置等)表示,同一州的城市也是如此。但就类(oop)而言,它可能聚集在同一个类中
0wi1tuuw2#
您可以有一个包含国家、州、城市信息的地理表格。可以将geographyid用作外键。这个地理维度你也可以用地域、面积信息来外推。北美、亚太地区都可以。一般来说,虽然citynames可以跨州/国家重复出现,但如果将它们作为单独的表存储在主表中,这种情况很少见,而且会导致混淆。你必须确保你在正确的国家从正确的州选择了正确的城市。你必须按照顺序从上到下。否则,您可能会Map到错误国家、错误州、错误城市。将来,如果您也选择报告场景,那么定义层次结构和进行聚合将更容易。
2条答案
按热度按时间kuuvgm7e1#
这完全取决于您的问题、所使用的上下文和您想要处理的数据,但一般来说,就数据库而言,它们是分开的,因为一个国家包含多个州,州由一个(州代码、名称、人数、位置等)表示,同一州的城市也是如此。
但就类(oop)而言,它可能聚集在同一个类中
0wi1tuuw2#
您可以有一个包含国家、州、城市信息的地理表格。可以将geographyid用作外键。
这个地理维度你也可以用地域、面积信息来外推。北美、亚太地区都可以。
一般来说,虽然citynames可以跨州/国家重复出现,但如果将它们作为单独的表存储在主表中,这种情况很少见,而且会导致混淆。你必须确保你在正确的国家从正确的州选择了正确的城市。你必须按照顺序从上到下。否则,您可能会Map到错误国家、错误州、错误城市。
将来,如果您也选择报告场景,那么定义层次结构和进行聚合将更容易。