【发布时间】:2017-04-26 14:33:36
【问题描述】:
我有国家、地区、县、镇数据,我目前正在选择两种架构设计(如果有更好的,请告诉我)。
我首先想到
-
国家
- 身份证
- 姓名
-
地区
- 身份证
- 国家标识
- 姓名
-
县
- 身份证
- 区域标识
- 姓名
-
城镇
- 身份证
- 县号
- 姓名
但是要获得一个国家/地区的所有城镇,您必须进行 3 个内部连接才能进行过滤。我想这可能还可以,但可能很贵?
另一个设计是:
-
国家
- 身份证
- 姓名
-
地区
- 身份证
- 姓名
-
县
- 身份证
- 姓名
-
城镇
- 身份证
- 国家标识
- 区域标识
- 县号
- 姓名
这样,可以说所有分层数据都在底部,您可以返回,但是如果您想要一个国家/地区的所有区域,您有点搞砸了,这让我们怀疑第一个设计是否最好。
您认为最好的架构设计是什么?
【问题讨论】:
-
为什么不:地理{TownName, CountyName, RegionName, CountryName}?所有四个属性都是关键。
标签: sql database database-design database-schema