這應該符合所有要求。
create table a(a_id number);
alter table a add constraint pk_a primary key(a_id);
create table b(a_id number, b_id number);
alter table b add constraint pk_b primary key(a_id, b_id);
alter table b add constraint fk_b_a foreign key(a_id) references a(a_id);
create table c(a_id number, c_id number);
alter table c add constraint pk_c primary key(a_id, c_id);
alter table c add constraint fk_c_a foreign key(a_id) references a(a_id);
create table bc(a_id number, b_id number, c_id number);
alter table bc add constraint pk_bc primary key(a_id, b_id, c_id);
alter table bc add constraint fk_bc_ab foreign key(a_id, b_id) references b(a_id, b_id);
alter table bc add constraint fk_bc_ac foreign key(a_id, c_id) references c(a_id, c_id);
來源
2014-07-08 01:29:33
Bob
難道你不能讓表BC作爲(A_id,B_id,C_id)嗎? – Bob
我該如何實現? – TapiocaCom
請看下面的答案。如果我理解你的要求,那應該這樣做。讓我知道如果我失去了一些東西。 – Bob