外键元组约束多个表。

时间:2014-02-27 16:06:37

标签: sql postgresql foreign-keys

我有3个表,并且想创建一个新表,其中有3列是其他3个表id的外键。

CREATE TABLE tableABC(
    tblA INTEGER REFERENCES tableA,
    tblB INTEGER REFERENCES tableB,
    tblC INTEGER REFERENCES tableC,
    newColumn Integer,
    PRIMARY KEY (tblA, tblB, tblC)  ----- Is this efficient ?
);

CREATE TABLE tableA(
  tableA_id SERIAL PRIMARY KEY
);

CREATE TABLE tableB(
  tableB_id SERIAL PRIMARY KEY
);

CREATE TABLE tableC(
  tableC_id SERIAL PRIMARY KEY
);

现在对于表格tableABC,我希望列对(tblA, tblB, tblC)unique。查询此表时,搜索将基于这三列。哪种方式最适合高效。

我做了一些搜索,找不到在3个不同的表中对3列进行外键约束的方法。

例如FOREIGN KEY (b, c) REFERENCES other_table (c1, c2)引用一个表。是否可以引用3个不同的表格。

TNX。

0 个答案:

没有答案