我正在创建与Region,Sub_Region,Country和Country_Regions的关系。
我想要4层的原因是为了缩小搜索范围。例如,着陆页将包含整个世界的Google地图,您可以点击任何区域(大陆),使用其Sub_Regions缩放到该大陆,单击Sub_Region以获取国家/地区,如果该国家/地区具有Country_Regions,它会缩放到那些......
我的问题不是所有地区/国家/地区关系都有Sub_Region。
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会很高兴并帮助我提供参考资料?
答案 0 :(得分:0)
标准化应如下所示:
表1:
<强>区域强>
id | region_name
表2:
<强>国家强>
id | country_name | region_id
表3:
<强> REGION_TYPE 强>
id | region_type (Southeast,Southwest etc)
表4:
子区域
id | sub_region | country_id | region_type_id
答案 1 :(得分:0)
将您的所有位置信息仅存储在一个表中,并将它们放在树结构中
table location (
id,
title,
location_type,
fk_loc_parent,
)