Sql修改关系

时间:2011-11-15 14:26:31

标签: sql database oracle

如何在sql中将两个表之间的关系更改为多对多关系。我使用oracle作为数据库。

感谢

1 个答案:

答案 0 :(得分:3)

表格之间的关系几乎总是, ONE-TO-MANY ONE-to-ONE 。两个表之间没有 MANY-TWO-MANY 关系。如果你想要 MANY-TO-MANY ,你需要创建中间关系以保持关系。

例如,如果您希望表 A B 之间存在 MANY-TO-MANY 关系,则需要创建一个中间表<强> C

create table a (a_id number primary key);
create table b (b_id number primary key);
-- c will hold many-to-many relationship between a and b
create table c (
    a_id number not null references a(a_id),
    b_id number not null references b(b_id),
    primary key(a_id, b_id)
);