【发布时间】:2012-02-07 06:47:34
【问题描述】:
我正在创建与 Region、Sub_Region、Country 和 Country_Regions 的关系。
我想要 4 层的原因是为了缩小搜索范围。例如,登陆页面将有一个包含整个世界的谷歌地图,您可以单击任何区域(大陆),放大到带有 Sub_Regions 的大陆,单击 Sub_Region 以获取国家,如果该国家有 Country_Regions,它会放大到那些...
我的问题不是所有区域/国家关系都有一个子区域。
Sub_Region 的一个例子是
Region | Sub_Region | Country | Country_Region
Caribbean | Lesser Antilles | Saint Martin | NULL
Europe | Iberian Peninsula | Spain | NULL
问题是如果我尝试把美国放到这个结构中,它看起来像这样:
Region | Sub_Region | Country | Country_Region
North America | NULL | United States | Southeast
我怎样才能规范化这个,如果没有 Sub_Region 或 Country_Region,数据仍然是一致的,InnoDB 会很高兴并帮助我参考?
【问题讨论】:
-
您正在混合可能更好地混合的东西。例如,“北美”与自然地理有关,而“美国”与政治地理有关。如果你选择一个,你的生活会变得更简单。此外,一些国家由国家组成。 (不是错字。)
标签: mysql normalization