如何在Postgresql中建立父表和子表之间的关系

时间:2017-09-08 19:01:34

标签: postgresql rdbms

我正在学习postgresql,我在制作父表和子表之间的关系时苦苦挣扎。任何帮助将不胜感激。

这是我的父表。

表名国家/地区

reset(){
   this.selectedElement = {id:-1,Name:'Select One'};
  }

这是我孩子的餐桌详情 -

表名 state1

c_id   state    No_of_cities    Total Population
1     state1    30                60
2     state2    40                70
3     state3    50                80

表名 state2

s_id    cities  population
1       city1   234
2       city2   345

表名 state3

s_id    cities  population
1      city3    544
2      city4    765

请帮我弄清楚,如何建立表之间的关系,以便我可以在查询时获得准确的数据。

1 个答案:

答案 0 :(得分:1)

您需要为所有州的城市设置一个表:

例如:

表名称状态

state    no_of_cities   population
state1   20             60
state2   30             70
state3   40             80

表名城市

state       cities   population
state1      city1    234
state1      city2    345
state2      city3    544
state2      city4    765
state3      city1    543
state3      city5    987

然后你可以添加一个外键

ALTER TABLE cities ADD FOREIGN KEY (state) REFERENCES states (state);

但首先必须设置状态主键

ALTER TABLE states ADD PRIMARY KEY (state)

或(如果您希望整数id为pk)添加唯一键:

ALTER TABLE states ADD UNIQUE (state)