复合键属性也是外键吗?

时间:2017-05-20 00:21:23

标签: database foreign-keys composite-primary-key composite-key

我正在完成一项任务,我们应该:

enter image description here

基于此架构: 带下划线=主键,下划线=复合键

enter image description here

我的问题是复合键,是构成复合键的两个属性,如表Borrower,也被认为是外键?

1 个答案:

答案 0 :(得分:3)

是的,可以为表创建一个也被视为外键的复合主键。如果你在SQL中执行类似下面的操作,它将正常工作。

CREATE TABLE Borrower
(
    customerID VARCHAR2(10),
    loan_number VARCHAR2(10),
    PRIMARY KEY(customerID, loan_number),
    FOREIGN KEY customerID REFERENCES Customer(CustomerID),
    FOREIGN KEY loan_number REFERENCES Loan(loan_number)
);

要记住的重要一点是Borrower表中键的数据类型必须与CustomerLoan表中键的数据类型完全匹配分别