将单个表拆分为多个表时,外键指的是来自不同行的主键是否很常见?
例如
源表数据是
id1 id2 name1 name2
10 1 a10 b1
9 8 a11 b2
8 3 a12 b3
3 9 a14 b4
1 10 a15 b5
所以当我创建主键表时
create table pk_table (id1 integer primary key , name1 varchar2(20))
和外键表为
create table fk_table (id2 integer, name2 varchar2(20) foreign key(id2) references pk_table(id1))
因此,当我按表拆分数据时:
pk_table 数据为:
id1 name1
10 a10
9 a11
8 a12
3 a14
1 a15
外键数据是
id2 name2
1 b1
8 b2
3 b3
9 b4
10 b5
那么你有没有看到我们没有 fk 在源表中引用同一行 pk 的情况?
已编辑:更新了表格数据以使其更有效。