我开发了一个有城市群概念的网站。如果一个群体由城市父母和城市定义为孩子。 所以我需要存储父城和子城之间的关系(1:n关系)。
我想知道是为此定义的最佳架构。 例如,我们将:巴黎(父母) - > Neuilly(小孩),Vincennes(小孩),StMandé(小孩)等...
答案 0 :(得分:1)
可能是这样的:
--> cities
- id (int PK)
- name (varchar)
- parent_id (int default 0 )
然后是值:
- 1,Paris, 0
- 2, Neuilly, 1
- 3, Vincennes, 1
- 4, St Mandé, 1
制作清单:
select * from cities as c0 join cities as c1 on c1.parent_id = c0.id;
答案 1 :(得分:0)
您将使用自我加入
table :=> cities
fields :=>
- id (int PK)
- name (varchar)
- parent_city_id (int default 0 )
因此,将使用自连接,其中Join将基于c1(城市别名table1)的id加入c2(城市别名table2,视为第二个表)。